c# - 在 C# 中过滤未绑定的数据网格视图
问题描述
我有一个 datagridview,其中显示了学生及其年级组的完整列表以及其他信息。我希望能够使用组合框对其进行过滤,以便我可以选择例如第 9 年,并且 datagridview 将仅显示学生及其在第 9 年的详细信息。感谢各种帮助 - 我是 C# 新手
我在组合框中尝试了以下代码
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
foreach (DataGridViewRow df in this.dataGridView1.Rows)
{
string TextVar;
TextVar = comboBox1.Text;
if (dataGridView1.Rows[df.Index].Cells[3].Value.ToString()== (TextVar))
{
dataGridView1.Rows[df.Index].Visible = true;
}
else
{
dataGridView1.Rows[df.Index].Visible = false;
}
}
}
解决方案
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
var bc = BindingContext[dataGridView1.DataSource];
bc.SuspendBinding();
for (int i = 0; i < (dataGridView1.Rows.Count - 1); i++)
{
dataGridView1.Rows[i].Visible = (dataGridView1.Rows[i].Cells[3].Value.ToString() == comboBox1.Text);
}
bc.ResumeBinding();
}
推荐阅读
- javascript - 为什么我的调试控制台调试的是关闭的旧文件而不是当前文件?
- javascript - 使用固定导航实现页面加载时打开的 css 模式 - 不起作用
- r - 获取 R 片段以接受插入文本中的空格
- python - 为什么 python 进程的行为与 barrier.wait() 不同?
- matlab - 专门为稍微不同的数据结构定义子类
- xml - 我将如何使用 XSLT 转换此 XML?
- android - 将布局属性应用到xml之外有什么缺点?
- json - 用户在没有数据库的情况下登录 codeigniter 并使用 json 格式而不是
- c# - C# - DisplayMemberPath 在 ComboBox 中不起作用
- spring-boot - DynamoDB - 未找到存储库 bean