设置 DataSource 属性后无法修改项集合。

q520525745 2010-04-06 01:38:03
private void comboBox1_TextChanged(object sender, EventArgs e)
{
if (comboBox1.Text == "订单号" || comboBox1.Text == "货单号")
{
textBox1.Visible = true;
comboBox2.Visible = false;
}
else if (comboBox1.Text == "商品简称")
{
comboBox2.Visible = true;
textBox1.Visible = false;
try
{
string sql = "select distinct 商品简称 from 商户结算";
conn = new SqlConnection(connstr);
da = new SqlDataAdapter(sql, conn);
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
ds = new DataSet();
da.Fill(ds);
comboBox2.DataSource = ds.Tables[0].DefaultView;
comboBox2.DisplayMember = "商品简称";
}
catch
{
MessageBox.Show("该数据不存在!", "系统提示", MessageBoxButtons.OK);
}
finally
{
if (conn.State != ConnectionState.Closed)
{
try
{
conn.Close();
}
catch { }
}
}
}
else if (comboBox1.Text == "结算状态")
{
comboBox2.Visible = true;
textBox1.Visible = false;
//填充关键字
string[] strzt = { "未结款", "已结款" };
foreach (String str in strzt)
{
this.comboBox2.Items.Add(str);
}
this.comboBox2.SelectedIndex = 0;
}
}

当我先选了商品简称再选结算状态就会提示设置 DataSource 属性后无法修改项集合。
请问下我该如何修改。
...全文
462 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
tuoluofo3 2011-08-01
  • 打赏
  • 举报
回复
怎么解决的? 又是这种楼主。
q520525745 2010-04-06
  • 打赏
  • 举报
回复
谢谢各位的热心回答。已经通过再添加一个控件解决了。
以上方法也可用。
Net85 2010-04-06
  • 打赏
  • 举报
回复
comboBox2.DataSource = ds.Tables[0].DefaultView; 数据源数据过多,不宜更改为Items.add

你把“未结款", "已结款”从数据库中读出,也作为数据源给combox2,不要用添加项的方法,这样就不会出现上面你说的问题了,就是会稍复杂点。
Net85 2010-04-06
  • 打赏
  • 举报
回复
DataSource 和 comboBox2.Items.Add(str) 是相互排斥的。 你如果为combox添加项的话 ,或者都采用DataSource 或者都采用 Items.Add()。绝对不能同时使用。
不懂装懂 2010-04-06
  • 打赏
  • 举报
回复
...不太明白你的意思...
试试先将combobox2置空再绑定数据
hqs19821108 2010-04-06
  • 打赏
  • 举报
回复
帮你顶一下

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧