2013-02-26 17 views
8

Wie kann ich eine bestimmte Spalte in DataGridview zusammen mit seiner Kopfzeile ausblenden, während in der Lage sein, den Wert zu verwenden? (wird einfach nicht angezeigt). Der folgende Code funktioniert nicht.Wie kann ich eine bestimmte Spalte eines dataGridView ausblenden?

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

vielleicht eingestellt width = 0 ? – Vogel612

+0

können Sie 'datakeynames' verwenden, sehen Sie meine Antwort unten :) – Stuart

Antwort

1

Fügen Sie die Spaltennamen/s zum DataKeyNames der Rasteransicht ...

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

Sie können dann auf die datakeys im Code hinter ...

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

Sie können weitere DataKeyNames hinzufügen, indem Sie sie mit einem Komma trennen. Dann müssen Sie die Spalte nicht zu der GridView hinzufügen, wenn Sie nicht möchten.

+0

Danke, aber ich brauchte eine Windform-Lösung :) – Breeze

+0

Entschuldigung, das habe ich nicht bemerkt! vielleicht gibt es eine ähnliche Lösung für Winforms ... – Stuart

0

Das ist 100% richtige Lösung .... this.dataGridView1.Columns[0].Visible = false;

0

wenn Sie gridview Spalte ausblenden möchten, sollten Sie einen Zustand ..

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

Verwandte Themen