C# 使用DataSet-WinForm绑定数据时将默认项添加到ComboBox

C# 使用DataSet-WinForm绑定数据时将默认项添加到ComboBox,c#,.net,winforms,combobox,C#,.net,Winforms,Combobox,我在windows窗体中绑定ComboBox的代码如下 ddlUsers.DataSource = dsUsers.Tables[0]; ddlUsers.ValueMember = "userID"; ddlUsers.DisplayMember = "Username"; ddlUsers.Items.Insert(0, "-Select a user-"); 我想在这个组合框中添加一个deafult项作为第一个元素,我已经尝试过类似的方法 ddlUsers.Data

我在windows窗体中绑定ComboBox的代码如下

  ddlUsers.DataSource = dsUsers.Tables[0];
  ddlUsers.ValueMember = "userID";
  ddlUsers.DisplayMember = "Username";
  ddlUsers.Items.Insert(0, "-Select a user-");
我想在这个组合框中添加一个deafult项作为第一个元素,我已经尝试过类似的方法

  ddlUsers.DataSource = dsUsers.Tables[0];
  ddlUsers.ValueMember = "userID";
  ddlUsers.DisplayMember = "Username";
  ddlUsers.Items.Insert(0, "-Select a user-");
但它会抛出这样一个错误

Items collection cannot be modified when the DataSource property is set.

有人能指出实现这一点的正确方法吗?

您可以先将dsUsers.Tables[0]的内容插入列表,添加手动项,然后将该列表绑定为数据源而不是dsUsers.Tables[0]。您可以先将dsUsers.Tables[0]的内容插入列表,添加手动项,然后直接将该列表绑定为数据源,而不是dsUsers.Tables[0]。可以先将dsUsers.Tables[0]的内容插入列表,然后添加手动项,然后将该列表绑定为数据源,而不是dsUsers.Tables[0]。可以先将dsUsers.Tables[0]的内容插入列表,添加手动项,然后将该列表绑定为数据源,而不是直接绑定为dsUsers.Tables[0]。

您必须以以下方式在表中添加行:

DataRow newRow = dataSet1.Tables[0].NewRow();

newRow["userID"] = 0;
newRow["Username"] = "-Select a User-";

dataSet1.Tables[0].Rows.Add(newRow);
然后将源代码提供给combo:

 ddlUsers.DataSource = dsUsers.Tables[0];
 ddlUsers.ValueMember = "userID";
 ddlUsers.DisplayMember = "Username";

有关更多信息,请参阅

您必须以以下方式在表中添加行:

DataRow newRow = dataSet1.Tables[0].NewRow();

newRow["userID"] = 0;
newRow["Username"] = "-Select a User-";

dataSet1.Tables[0].Rows.Add(newRow);
然后将源代码提供给combo:

 ddlUsers.DataSource = dsUsers.Tables[0];
 ddlUsers.ValueMember = "userID";
 ddlUsers.DisplayMember = "Username";

有关更多信息,请参阅

您必须以以下方式在表中添加行:

DataRow newRow = dataSet1.Tables[0].NewRow();

newRow["userID"] = 0;
newRow["Username"] = "-Select a User-";

dataSet1.Tables[0].Rows.Add(newRow);
然后将源代码提供给combo:

 ddlUsers.DataSource = dsUsers.Tables[0];
 ddlUsers.ValueMember = "userID";
 ddlUsers.DisplayMember = "Username";

有关更多信息,请参阅

您必须以以下方式在表中添加行:

DataRow newRow = dataSet1.Tables[0].NewRow();

newRow["userID"] = 0;
newRow["Username"] = "-Select a User-";

dataSet1.Tables[0].Rows.Add(newRow);
然后将源代码提供给combo:

 ddlUsers.DataSource = dsUsers.Tables[0];
 ddlUsers.ValueMember = "userID";
 ddlUsers.DisplayMember = "Username";

有关更多信息,请参阅在顶部插入新的

dr = dsUsers.Tables[0].NewRow();
dr[userID] = "0";
dr[Username] = "-Select a User-";
dsUsers.Tables[0].Rows.InsertAt(dr,0);
您可以像往常一样设置源

ddlUsers.DataSource = dsUsers.Tables[0];
ddlUsers.ValueMember = "userID";
ddlUsers.DisplayMember = "Username";

在顶部插入新的

dr = dsUsers.Tables[0].NewRow();
dr[userID] = "0";
dr[Username] = "-Select a User-";
dsUsers.Tables[0].Rows.InsertAt(dr,0);
您可以像往常一样设置源

ddlUsers.DataSource = dsUsers.Tables[0];
ddlUsers.ValueMember = "userID";
ddlUsers.DisplayMember = "Username";

在顶部插入新的

dr = dsUsers.Tables[0].NewRow();
dr[userID] = "0";
dr[Username] = "-Select a User-";
dsUsers.Tables[0].Rows.InsertAt(dr,0);
您可以像往常一样设置源

ddlUsers.DataSource = dsUsers.Tables[0];
ddlUsers.ValueMember = "userID";
ddlUsers.DisplayMember = "Username";

在顶部插入新的

dr = dsUsers.Tables[0].NewRow();
dr[userID] = "0";
dr[Username] = "-Select a User-";
dsUsers.Tables[0].Rows.InsertAt(dr,0);
您可以像往常一样设置源

ddlUsers.DataSource = dsUsers.Tables[0];
ddlUsers.ValueMember = "userID";
ddlUsers.DisplayMember = "Username";
请试试这个:

DataTable dt = (DataTable)cmbControl.DataSource;
      DataRow dr = dt.NewRow();
      dr["UserName"] = "---Select User----";
      dr["UserID"] = "0";

      dt.Rows.InsertAt(dr, 0);
将行插入datatable并使用InsertAt方法

请试试这个:

DataTable dt = (DataTable)cmbControl.DataSource;
      DataRow dr = dt.NewRow();
      dr["UserName"] = "---Select User----";
      dr["UserID"] = "0";

      dt.Rows.InsertAt(dr, 0);
将行插入datatable并使用InsertAt方法

请试试这个:

DataTable dt = (DataTable)cmbControl.DataSource;
      DataRow dr = dt.NewRow();
      dr["UserName"] = "---Select User----";
      dr["UserID"] = "0";

      dt.Rows.InsertAt(dr, 0);
将行插入datatable并使用InsertAt方法

请试试这个:

DataTable dt = (DataTable)cmbControl.DataSource;
      DataRow dr = dt.NewRow();
      dr["UserName"] = "---Select User----";
      dr["UserID"] = "0";

      dt.Rows.InsertAt(dr, 0);
将行插入datatable并使用InsertAt方法