如何将空或自定义值添加到绑定组合框?

Dan*_*Dan 3 .net data-binding combobox

我使用绑定到Category表的System.Windows.Forms.Combobox作为搜索条件.当用户不想使用此条件时,我需要有一个值"All"或空字符串.由于组合被绑定,因此每次单击时,combo1.Text ="All"的值都将被删除.显然,我不能将"All"类别添加到数据库中.完成此任务的最佳方法是什么?

Nee*_*raj 5

  1. 如果您不想将"全部"项添加到数据源中,则可以执行以下操作:

代码片段

comboBox1.Text = "All";
Run Code Online (Sandbox Code Playgroud)

它将comboBox中显示的文本设置为已分配的值,但不更改comboBox和绑定数据源中的项目.

  1. 您也可以将"全部"添加到数据源中.但你应该这样做:

代码片段

private void button1_Click(object sender, EventArgs e)

{

DataRow dataRow = dataTable.NewRow();

dataRow["ItemId"] = "All";

dataTable.Rows.InsertAt(dataRow, 0);

comboBox1.SelectedIndex = 0;

}
Run Code Online (Sandbox Code Playgroud)

最简单的方法是在你的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;
Run Code Online (Sandbox Code Playgroud)

希望这能解决你的问题..