c# - 组合框默认值始终是 SQL 表值 - C#

标签 c# winforms stored-procedures combobox default-value

我正在从 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/

相关文章:

c# - ASP.net Web 服务和智能感知

c# - 如何在 C# 中使用 regex.replace 将单个字符替换为反斜杠

c# - Web.UI 的 InvokeRequired 需要帮助

mysql - 如何在MySQL存储过程中抛出警告?

asp.net-mvc - 将存储过程与具有附加参数的 Linq To Sql 一起使用

MySQL循环调用

c# - 执行多个数据库调用-单线程还是多线程?

c# - 将一封或多封邮件从 Outlook 拖放到 C# WPF 应用程序

c# - 我可以禁用 WinForms 中的组合框而不使其变灰吗?

c# - 如何在 C# 中绘制二维等高线图?