【发布时间】:2017-09-27 14:14:00
【问题描述】:
如标题中所述,我希望能在使用同一张表的不同列填充组合框方面提供一些帮助
我没有实际的源代码,但我能够用类似的东西填充一个组合框
SqlDataTable dt = new SqlDataTable();
SqlCommand comm = new SqlCommand(query, conn);
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = comm;
da.Fill(dt);
myCMB.DataSource = dt;
myCMB.DisplayMember = "display";
myCMB.ValueMember = "value;
但我有 5 个组合框,我不想为此重复相同的代码块 5 次。所以我环顾四周,找到了一些答案,包括将数据源更改为绑定源,如下所示:
myCMB.DataSource = new BindingSource(da, "Column_Name");
但这样做会用指定列的第一项的每个字母填充组合框(即,如果“Column_Name”中的第一项是 ABCD,我的组合框选项将是 A、B、C、D)
所以,我尝试寻找更多答案,但找不到任何答案。有没有更有效的方法来填充我的组合框,还是我真的必须为每个组合框重复基本上相同的代码行?如果有人可以提供帮助,将不胜感激。
【问题讨论】:
-
你不能像
myCMB.DataSource = dt; myCMB.DisplayMember = "col1"; myCMB.ValueMember = "col2"; myotherCMB.DataSource = dt; myotherCMB.DisplayMember = "col3"; myotherCMB.ValueMember = "col4";那样做吗 -
当你说“同一张表的不同列”时,是指datatable或sql表。
-
抱歉回复晚了,但我要感谢@ChetanRanpariya 给我一个正确的答案。不过,我不知道如何将您的评论标记为官方答案。
标签: c# sql sql-server combobox sqldataadapter