我正在从 Stored Procedure
中检索 datatable
并且 Combobox
正在显示该数据,但我想显示 -Select Program- 作为Combobox
的默认值,但它始终显示数据表的第一条记录。
InitializeComponent();
cbxProgram.Items.Insert(0, "-SELECT PROGRAM-");
cbxProgram.SelectedIndex = 0;
cbxProgram.DataSource = SomeBL.GetProgramName().Tables[0];
cbxProgram.DisplayMember = "ProgramName";
cbxType.DataSource = SomeBL.GetType("").Tables[0].DefaultView;
cbxType.DisplayMember = "Type";
cbxNumber.DataSource = SomeBL.GetNumber("", "").Tables[0].DefaultView;
cbxNumber.DisplayMember = "Number";
cbxType.Enabled = false;
cbxType.Enabled = false;
最佳答案
您必须在绑定(bind)之前将自定义行添加到您的表格。
我没有测试这个,但它应该看起来像这样:
DataTable dt = SomeBL.GetProgramName().Tables[0];
DataRow dr = dt.NewRow();
dr[0] = "-SELECT PROGRAM-"; // Look at the index of your desired column
dt.Rows.InsertAt(dr,0); // Insert on top position
cbxProgram.DataSource = dt;
cbxProgram.SelectedIndex = 0;
cbxProgram.DisplayMember = "ProgramName";
关于c# - 组合框默认值始终是 SQL 表值 - C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35989845/