用列表中的2列填充DataGridView

本文关键字:填充 DataGridView 2列 列表 | 更新日期: 2023-09-27 18:08:54

我试图将项目列表绑定到DataGridView。问题是它显示了列表中的所有列,而我只想显示其中的2列,并保留其他列(可能使它们不可见),因为它们包含一些对后面的逻辑很重要的id。这是我目前所看到的:

private void BindFormData(object sender, EventArgs e)
{
    //returns a list of items
    var extraParamters = context.getExtraParameters(scheduleId, exportId);
    if (extraParamters.Count > 0)
    {
            dataGridView1.DataSource = extraParamters;
    }
}

项目列表如下:

Id | accId | Name | Value | custId | 
 1    150    Name    15      10
 2    200    Name    25      10

等等…

如何只显示NameValue列?我的想法是,我将有他们可编辑的DataGridView,我也将能够插入新的条目。

用列表中的2列填充DataGridView

让您的网格视图自动生成列,然后只需删除它们。

  • 你也可以在代码中构建它,尽管这对你来说可能更容易,直到你习惯它。

所以像这样:

 dataGridView1.AutoGenerateColumns = true;
 dataGridView1.DataSource = extraParamters;
 dataGridView1.Columns.Remove("accId");
 dataGridView1.Columns.Remove("custId");
 dataGridView1.Columns["Id"].Visible = false;

注意我没有删除id列-只是隐藏了它。你以后更新的时候会用到它。

或者直接隐藏你不想要的

 dataGridView1.AutoGenerateColumns = true;
 dataGridView1.DataSource = extraParamters;
 dataGridView1.Columns["accId"].Visible = false;
 dataGridView1.Columns["custId"].Visible = false;
 dataGridView1.Columns["Id"].Visible = false;