c# Winform下拉列表框(ComboBox)中添加“其它”项

有时从数据库中查询返回的结果关联到ComboBox中后,还需要添加“其它”或者“全部”之类的项。

web中可以new一个ListItem,而winform则无此功能。

可以在DataTable中增加一个DataRow来实现同样的功能。

string cmdString = "SELECT Id,Name FROM Staff"; try { SqlDataBase sdb = new SqlDataBase(); sdb.Open(); DataTable dtbl = sdb.ExecuteDataTable(cmdString); sdb.Close(); //添加“所有”选项 DataRow dr = dtbl.NewRow(); dr["Id"] = DBNull.Value; dr["Name"] = "所有"; dtbl.Rows.InsertAt(dr, 0); cboStaff.DataSource = dtbl; boStaff.SelectedIndexChanged += new EventHandler(cboStaff_SelectedIndexChanged); } catch { }

数据库中Staff表包含Id,Name两个字段,查询返回的结果表为dtbl,

dtbl.NewRow()生成一个新的DataRow,然后将dr的两个字段Id、Name的值分别设为DBNull.Value,"所有"。

dtbl.Rows.InsertAt()将DataRow插入到列表最前面,当然你也可以插入到最后。

然后cboStaff.DataSource=dtbl就行了

你可能感兴趣的:(c# Winform下拉列表框(ComboBox)中添加“其它”项)