设置DataSource属性时,无法修改项集合。 C#

时间:2013-12-12 02:24:11

标签: c# winforms combobox

我在尝试将新项目插入到组合框中时收到错误

错误:设置DataSource属性时无法修改项目集合。

string connectionstring = "MultipleActiveResultSets=True;Data Source=ECSTSRD;Initial Catalog=PMIDB;User ID=pnpuser;Password=pnpuser123";
sqlConnection myconnection = new SqlConnection(connectionstring);

myconnection.Open();
string custPOsql = "INSERT INTO cust_po (cust_code, po_no) VALUES (@cust_code, @po_no)";
       SqlCommand custPOcom = new SqlCommand(custPOsql, myconnection);
       custPOcom.Parameters.AddWithValue("@cust_code", cboCustCode.Text);
       custPOcom.Parameters.AddWithValue("@po_no", cboPO.Text);
       custPOcom.ExecuteNonQuery();
       MessageBox.Show("Insert Successfully", "Insert");
       cboPO.Items.Add(cboPO.Text);

仅供参考,我在表格加载中绑定了PO组合框的数据源。

我在stackoverflow和其他论坛中发现了一些类似的问题,他们提到的方式是使用cboPO.Items.Add(cboPO.Text)将新项目添加到组合框中,但我无法将其用作显示的错误。

有谁知道这是什么问题,请帮助。

提前致谢。

2 个答案:

答案 0 :(得分:1)

您的cboPO控件已与显示数据的数据源绑定

如果想在组合框中添加行

,请使用此选项
DataTable dt = cboPO.Datasource;
DataRow dr = dt.NewRow();
dr["ColumnName"/Index number] = cboPO.Text;

答案 1 :(得分:0)

您可以使用cboPO.Items.Add(),也可以按照自己的方式绑定到列表。

  

“仅供参考,我在表格加载中绑定PO组合框的数据源。”

它告诉您无法将组合框绑定到数据源,然后尝试将项目直接添加到组合框中。这是一个或两件事 - 你不能两者都做。

您必须将项目添加到最初绑定到Form_Load事件中组合框的任何对象,然后自动反映在组合框中。