有没有一种快速的方法来设置DataGridView的所有列不可见?

时间:2013-05-21 03:17:36

标签: c# winforms datagridview visible datagridviewcolumn

我不想遍历所有列并将每个列的Visible设置为false。我想知道是否有快速的方法。

谢谢!

5 个答案:

答案 0 :(得分:2)

dataGridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.None;
dataGridView.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.None;

for (int i = 0; i < dataGridView.Columns.Count; i++)
{
   dataGridView.Columns[i].Visible = false;
}

答案 1 :(得分:2)

您也可以使用LINQ,如下所示:

dataGridView1.Columns.OfType<DataGridViewColumn>().ToList().ForEach(col => col.Visible = false);

答案 2 :(得分:0)

将数据源设置为null,当您想再次显示它时,可以设置数据源。

或者您可以将Gridview可见false或包含控件的gridview设置为可见false。

答案 3 :(得分:0)

让两个网格具有相同的大小和位置。

if(conditionMet)
{
   grid1.visible = false;
   grid2.visible = true;
}

答案 4 :(得分:0)

旧问题认为它可能对某人有帮助!!这可能是一个简单的选择..

foreach (DataGridViewColumn col in myDgv.Columns)
{
    col.Visible = false;
}

以及你可以遍历行..

foreach (DataGridViewRow row in myDgv.Rows)
{
    // your code
}