c# - 使用checkedlistbox从Datagridview中选择数据
问题描述
我的表单中有一个datagridview,还有一个checkedlistbox。我编写了一些代码,以便我可以使用选中列表框中选中的任何内容来过滤 datagridview。虽然,它一次只会过滤一个,而我希望能够过滤任何被检查的数据。有没有解决的办法?
代码:
if (checkedListBox1.CheckedItems.Count != 0)
{
string s = "";
int x;
for (x = 0; x <= checkedListBox1.CheckedItems.Count - 1; x++)
{
s = "'" + checkedListBox1.CheckedItems[x].ToString() + "',";
}
s = s.Substring(0, s.Length - 1);
toolStripDropDownButton7.Text = s;
con.Open();
string query = "select * from Leads where Status in (" + s + ")";
SqlCommand cmd = new SqlCommand(query, con);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
sda.Fill(dt);
dataGridView4.DataSource = dt;
con.Close();
}
解决方案
看起来您的 for 循环中有错误:“s”仅包含 checkListBox 中的最后一个检查项。尝试像这样更改它:
s += "'" + checkedListBox1.CheckedItems[x].ToString() + "',";
推荐阅读
- arrays - 如何在powershell中创建这样的数组?
- javascript - 收到:[SyntaxError: Unexpected token < in JSON at position 0]
- c# - 仅当在 C# 中实现时才在接口实现上调用泛型方法
- graphics - 如何使用 D3D11 DXGI_SWAP_EFFECT_DISCARD 呈现模式实现最低和固定的显示延迟?
- react-native - Apollo 缓存查询字段策略 offsetLimitPagination() 不适用于订阅
- reactjs - useSate 不在 axios 承诺中执行
- php - 无法使用php访问上传文件输入
- three.js - Three.js InstancedMesh:更新实例矩阵后不改变着色器
- javascript - 使用 Mongoose 中间件修改请求正文
- machine-learning - 使用 KNeighborsClassifier 时,使用 weights="distance" 的动机是什么