我在尝试将新项目插入到组合框中时收到错误
错误:设置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)
将新项目添加到组合框中,但我无法将其用作显示的错误。
有谁知道这是什么问题,请帮助。
提前致谢。
答案 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
事件中组合框的任何对象,然后应自动反映在组合框中。