You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何自定义BindingSource绑定List的DataGridView列,仅显示Word列

让DataGridView仅显示Word列的解决方案

你目前混淆了BindingSource.Filter的作用——它用于筛选数据行(过滤不符合条件的行),而非控制列的显示。要让DataGridView只展示Word列,有以下几种可行方案:

方案1:绑定数据源后手动隐藏多余列

在给DataGridView绑定数据源后,遍历所有列,将除Word外的列设置为不可见:

private void button1_Click(object sender, EventArgs e)
{
    AlbumsDAO albumsDAO = new AlbumsDAO();

    kelimes = albumsDAO.getAllKelimes(textBox1.Text, textBox2.Text,
        textBox3.Text, textBox4.Text, textBox5.Text, textBox6.Text, textBox7.Text, textBox8.Text, textBox9.Text, textBox10.Text, Convert.ToInt32(birNUD.Value), Convert.ToInt32(ikiNUD.Value), Convert.ToInt32(ucNUD.Value), birHarfTB.Text, ikiHarfTB.Text, ucHarfTB.Text);

    kelimesBindingSource.DataSource = kelimes;                        
    dataGridView1.DataSource = kelimesBindingSource;

    // 隐藏非Word列
    foreach (DataGridViewColumn column in dataGridView1.Columns)
    {
        if (column.DataPropertyName != "Word")
        {
            column.Visible = false;
        }
    }
}

方案2:通过设计器预先配置列

打开WinForms设计器,给DataGridView添加单独一列:

  • 设置该列的DataPropertyName为Word
  • 删除或隐藏设计器中自动生成的其他列
    绑定数据源后,DataGridView就只会显示这一列。

方案3:转换为仅含Word属性的数据源

将List<Kelime>转换为只包含Word属性的匿名对象列表,再绑定到BindingSource,从根源上减少数据源的属性:

private void button1_Click(object sender, EventArgs e)
{
    AlbumsDAO albumsDAO = new AlbumsDAO();

    kelimes = albumsDAO.getAllKelimes(textBox1.Text, textBox2.Text,
        textBox3.Text, textBox4.Text, textBox5.Text, textBox6.Text, textBox7.Text, textBox8.Text, textBox9.Text, textBox10.Text, Convert.ToInt32(birNUD.Value), Convert.ToInt32(ikiNUD.Value), Convert.ToInt32(ucNUD.Value), birHarfTB.Text, ikiHarfTB.Text, ucHarfTB.Text);

    // 转换为仅含Word的匿名对象列表
    var wordList = kelimes.Select(k => new { k.Word }).ToList();
    kelimesBindingSource.DataSource = wordList;                        
    dataGridView1.DataSource = kelimesBindingSource;
}

补充说明

如果后续需要保留原Kelime对象的完整数据(比如做其他操作),优先选方案1或方案2;如果只需要展示Word,方案3更简洁高效。

内容的提问来源于stack exchange,提问作者egem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 12:58:12