我使用绑定到Category表的System.Windows.Forms.Combobox作为搜索条件.当用户不想使用此条件时,我需要有一个值"All"或空字符串.由于组合被绑定,因此每次单击时,combo1.Text ="All"的值都将被删除.显然,我不能将"All"类别添加到数据库中.完成此任务的最佳方法是什么?
如果您不想将"全部"项添加到数据源中,则可以执行以下操作:
代码片段
comboBox1.Text = "All";
它将comboBox中显示的文本设置为已分配的值,但不更改comboBox和绑定数据源中的项目.
您也可以将"全部"添加到数据源中.但你应该这样做:
代码片段
private void button1_Click(object sender, EventArgs e) { DataRow dataRow = dataTable.NewRow(); dataRow["ItemId"] = "All"; dataTable.Rows.InsertAt(dataRow, 0); comboBox1.SelectedIndex = 0; }
最简单的方法是在你的ds.Tables [0]中插入一行
ds = StockDAL.BindItemId(); DataRow dataRow = ds.Tables[0].NewRow(); dataRow["ItemId"] = "All"; ds.Tables[0].Rows.InsertAt(dataRow, 0); comboBox1.DataSource = ds.Tables[0]; comboBox1.DisplayMember = "ItemId"; comboBox1.ValueMember = "ItemId"; comboBox1.selectedIndex=0;
希望这能解决你的问题..