C# 是否有一种快速方法可以将DataGridView的所有列设置为不可见?
我不想遍历所有列,并将每列的Visible设置为false。我想知道是否有一个快速的方法来做到这一点C# 是否有一种快速方法可以将DataGridView的所有列设置为不可见?,c#,winforms,datagridview,visible,datagridviewcolumn,C#,Winforms,Datagridview,Visible,Datagridviewcolumn,我不想遍历所有列,并将每列的Visible设置为false。我想知道是否有一个快速的方法来做到这一点 谢谢大家! 将数据源设置为null,当您想再次显示它时,可以将数据源设置回null 或者可以将Gridview visible设置为false,或将包含控件的Gridview设置为visible false 将数据源设置为null,当您想再次显示它时,可以将数据源设置回null 或者可以将Gridview visible设置为false,或将包含控件的Gridview设置为visible fal
谢谢大家! 将数据源设置为null,当您想再次显示它时,可以将数据源设置回null
或者可以将Gridview visible设置为false,或将包含控件的Gridview设置为visible false 将数据源设置为null,当您想再次显示它时,可以将数据源设置回null
或者可以将Gridview visible设置为false,或将包含控件的Gridview设置为visible false 有两个精确大小和位置相同的网格
if(conditionMet)
{
grid1.visible = false;
grid2.visible = true;
}
具有两个精确大小和位置相同的栅格
if(conditionMet)
{
grid1.visible = false;
grid2.visible = true;
}
老问题认为这可能对某人有帮助!!这可能是一个简单的选择
foreach (DataGridViewColumn col in myDgv.Columns)
{
col.Visible = false;
}
您还可以遍历行
foreach (DataGridViewRow row in myDgv.Rows)
{
// your code
}
老问题认为这可能对某人有帮助!!这可能是一个简单的选择
foreach (DataGridViewColumn col in myDgv.Columns)
{
col.Visible = false;
}
您还可以遍历行
foreach (DataGridViewRow row in myDgv.Rows)
{
// your code
}
您还可以使用LINQ,如下所示:
dataGridView1.Columns.OfType<DataGridViewColumn>().ToList().ForEach(col => col.Visible = false);
您还可以使用LINQ,如下所示:
dataGridView1.Columns.OfType<DataGridViewColumn>().ToList().ForEach(col => col.Visible = false);
除了使整个网格不可见之外,我不知道还有什么解决方案。但是grid.Columns.ForEachg=>g.visible=false可能是编写循环的最短方法。@JamesBlond我不想隐藏所有网格,我只想快速隐藏它的所有列,然后我只将其中的几列设置为可见,比如myGrid.Columns[ID].visible=myGrid.Columns[Name].visible=true。它干净多了。谢谢你的短途旅行,虽然它仍然是一个循环。是的,它仍然是一个循环,但是简短的一行…@KingKing如果你不能关闭数据源,那么任何解决方案都会涉及一个循环,因为你的目标是集合中单个列的可见属性,你至少需要一次访问它们。除了使整个网格不可见之外,我不知道还有什么解决方案。但是grid.Columns.ForEachg=>g.visible=false可能是编写循环的最短方法。@JamesBlond我不想隐藏所有网格,我只想快速隐藏它的所有列,然后我只将其中的几列设置为可见,比如myGrid.Columns[ID].visible=myGrid.Columns[Name].visible=true。它干净多了。谢谢你的短途旅行,虽然它仍然是一个循环。是的,它仍然是一个循环,但是简短的一行…@KingKing如果你不能关闭数据源,任何解决方案都会涉及一个循环,因为你的目标是集合中各个列的可见属性,你需要至少访问它们一次