2013-02-26 28 views
8

Jak mogę ukryć konkretną kolumnę w DataGridview wraz z jej nagłówkiem , mając jednocześnie możliwość wykorzystania jej wartości? (po prostu się nie pokazuje). Poniższy kod nie działa.Jak ukryć konkretną kolumnę z danymiGridView?

gridview.Rows[e.RowIndex].Cells[11].Visible = false; 
+0

może ustawić szerokość = 0 ? – Vogel612

+0

możesz użyć 'datakeynames', zobacz moją odpowiedź poniżej :) – Stuart

Odpowiedz

1

dodać nazwę kolumna/s do DataKeyNames widoku siatki ...

<asp:gridview id="GridView1" runat="server" datakeynames="ColumnName" onselectedindexchange="GridView1_SelectedIndexChanged"></asp:gridview> 

następnie można uzyskać dostęp do datakeys w kodzie za ...

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    textbox.Text = GridView1.DataKeys[GridView1.SelectedIndex].Values["ColumnName"].ToString(); 
} 

Możesz dodać więcej DataKeyNames, oddzielając przecinkami. Wtedy nie musisz dodawać kolumny do GridView, jeśli nie chcesz.

+0

Dzięki, ale potrzebowałem rozwiązania w postaci wiatru :) – Breeze

+0

Przepraszam, nie zauważyłem tego! być może istnieje podobne rozwiązanie dla winform ... – Stuart

0

To jest 100% poprawne rozwiązanie .... this.dataGridView1.Columns[0].Visible = false;

0

jeśli chcesz ukryć kolumnę gridview, trzeba mieć stan ..

if(userlevel != 'Administrator') { GridView.Columns["ColumnName"].Visible = false; }

Powiązane problemy