我有一个代码,其中组合框绑定在那里。
public static void BindDropDownData(DataTable dtRecords, ComboBox dropDownListId, string textColumnName, string valueColumnName)
{
try
{
dropDownListId.DataSource = dtRecords;
dropDownListId.DisplayMember = dtRecords.Columns[textColumnName].ToString();
dropDownListId.ValueMember = dtRecords.Columns[valueColumnName].ToString();
dropDownListId.Items.Insert(0, "Select");
}
catch (Exception)
{
throw;
}
}
当我运行此代码时,它给了我一个错误
System.ArgumentException:“设置 DataSource 属性时无法修改项目集合。”
我无法将虚拟-Select-记录添加到数据库中。怎么处理这个问题?
您可以创建变量的副本:DataTable dtRecords。 添加一条值为“Select”和“0”的记录。
public static void BindDropDownData(DataTable dtRecords, ComboBox dropDownListId, string textColumnName, string valueColumnName)
{
try
{
DataSource cloneDataTable = dtRecords;
cloneDataTable.Insert(0, new DataTable(){ textColumnName = "Select", valueColumnName = "0"});
dropDownListId.DisplayMember = cloneDataTable.Columns[textColumnName].ToString();
dropDownListId.ValueMember = cloneDataTable.Columns[valueColumnName].ToString();
}
catch (Exception)
{
throw;
}
}