使用列表中的2列填充DataGridView

时间:2014-06-17 14:09:49

标签: c# winforms datagridview

我正在尝试将项目列表绑定到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中对其进行编辑,并且我也可以插入新条目。

1 个答案:

答案 0 :(得分:1)

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

  • 您也可以在代码中构建所有代码,但在您习惯之前,这可能会更容易。

这样的事情:

 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;