2013-05-21 5 views
0

모든 열을 반복하고 각 열의 표시를 false로 설정하고 싶지 않습니다. 그렇게 할 수있는 빠른 방법이 있는지 궁금합니다.DataGridView의 모든 열을 투명하게 설정할 수있는 빠른 방법이 있습니까?

감사합니다.

+1

아니에요 전체 격자를 보이지 않게 만드는 해결책을 알고 있어야합니다. 그러나'grid.Columns.ForEach (g => g.visible = false)'는 아마도 루프를 작성하는 가장 짧은 방법 일 것입니다. –

+0

@JamesBlond 모든 그리드를 숨기려하지 않고 모든 열을 빠르게 숨기고 myGrid.Columns [ "ID"]처럼 몇 개의 열만 표시하도록 설정합니다. Visible = myGrid.Columns [ "Name"]. Visible = true. 훨씬 깨끗합니다. 비록 당신의 짧은 길을 가져 주셔서 감사합니다. 그것은 여전히 ​​어떤 종류의 반복입니다. –

+0

네, 아직 루프는 있지만 짧은 하나의 라이너가 있습니다. –

답변

0

데이터 원본을 null로 설정하면 다시 표시하려는 경우 데이터 원본을 다시 설정할 수 있습니다.

또는 Gridview를 false로 표시하거나 컨트롤을 포함하는 gridview를 false로 설정할 수 있습니다.

0

동일한 크기와 위치로 두 개의 그리드가 있습니다.

if(conditionMet) 
{ 
    grid1.visible = false; 
    grid2.visible = true; 
} 
2
dataGridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.None; 
dataGridView.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.None; 

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

오래된 질문은 누군가를 위해 도움이 될 줄 알았는데! 당신이 행을 반복 할 수 이것은 ..뿐만 아니라 ..

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

을 쉽게 옵션이 될 수

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

은 또한 당신은 아래 LINQ를 사용할 수 있습니다

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