【发布时间】:2017-02-09 13:34:48
【问题描述】:
我有一个 c# 中的 winform 应用程序,女巫从 SQL 服务器数据库中获取值。
我可以在combobox 中获得我想要出现的值,但根据所做的选择,我想在checkedcombobox 中显示相应的sql 行,以便用户选择所需的行。
我的代码是:(填充组合框)
SqlDataAdapter SDA = new SqlDataAdapter("select distinct desempenho from vidros", con);
DataTable DTT = new DataTable();
SDA.Fill(DTT);
desempenho.Items.Clear();
foreach (DataRow ROW in DTT.Rows)
{
desempenho.Items.Add(ROW["desempenho"].ToString());
}
并且:(在选中的组合框中显示选定的行)女巫不工作。
private void checkedListBox1_SelectedIndexChanged(object sender, EventArgs e)
{
SqlDataAdapter sda = new SqlDataAdapter("select desc from vidros where desempenho ='" + desempenho.Text + "'", con);
DataTable DTT = new DataTable();
sda.Fill(DTT);
checkedListBox1.Items.Clear();
foreach (DataRow AB in DTT.Rows)
{
checkedListBox1.Items.Add(AB["desc"].ToString());
}
}
这是让用户选择多个项目的最佳方式吗? 有谁知道代码可能有什么问题?
提前致谢。
【问题讨论】:
-
什么不起作用?你能解释一下这段代码有什么问题吗?
-
@Steve 抱歉解释不好。我遇到的问题是,当我从组合框中选择一个项目时,checkedlistbox 中没有出现任何内容。
-
你确定没有抛出异常吗?该 DESC 字段名称是保留关键字,按原样使用应该会触发异常。
-
我建议使用调试器检查事件处理程序是否真的被调用以及事件代码处的组合框文本的值是什么。
-
为什么你的代码在列表框的 selectedindexchanged 事件中?它应该在组合框的 selectedindexchanged 中
标签: c# sql combobox checkedlistbox