我通过使用它的属性 - Use Data Bound Items
来填充数据库中的组合框
我只是在MainTable中添加了另外两个列,而不是制作另一个表
它们应该是DVRID
和DVRIP
然后我从comboDVR
填充了DVRID
,我得到DVR16F
&我的下拉列表中的DVR14F
selectedValues
来自DVRIP
,这是他们自己的IP地址。
我通常得到我想要的东西,唯一的问题是,因为我从列中填充了我的comboDVR
,它获取该列中的所有项目,即使是空列。
所以当我下拉时,它太长了......如果用户点击一个空白项目,则抛出异常
有没有办法可以从DRVID列中删除或不获取空值?或者我需要为此创建一个单独的表?
btw 我这样做是因为我的老板说他不希望客户端手动输入dvr的ip地址,所以他想要一个dvrs名称的下拉菜单。
答案 0 :(得分:1)
更改SELECT查询以过滤掉DVRID
为NULL的行,如下所示:
SELECT ID, MarkerName, Latitude, Longitude, CameraID, DVR, HostAddress, DVRID, DVRIP
FROM YOUR_TABLE_NAME
WHERE DVRID IS NOT NULL
答案 1 :(得分:0)
如果您的select
语句从DVR列返回空值,则可以使用此值:
isnull(DVR, '')
所以它返回一个空字符串。然后在你的代码后面你可以做这样的事情:
while(dr.read()) {
if(dr["DVR"].ToString() == String.Empty)
continue;
else
yourControl.Items.Add(new ListItem("your text", "your value"));
}
我希望这能指出你正确的方向。