2010-01-19 1 views
6

ich ein Gridview in meiner Web-Form habe, und ich bin einen den folgenden Code in meinem Web-Formular Button Save:Erhalten Kopftext von Gridview Zelle

foreach (GridViewRow row in gvList.Rows) 
      if (row.RowType == DataControlRowType.DataRow) 
      { for (int i = 0; i < row.Cells.Count; i++) 
       { 
        string headerRowText = ???; 

Wie kann ich die aktuelle Zelle Kopftext erhalten .

+1

BTW Wenn Sie sich wundern, warum diese Schleife die Kopfzeile nicht trifft, liegt das daran, dass Sie nur nach DataRows suchen. Es gibt einen DataControlRowType.Header, der nur in der Kopfzeile verwendet wird. – Eilon

Antwort

21

Ich löste es mit:

string headerRowText = gvList.HeaderRow.Cells[i].Text; 
3

gvList.Rows [0] sollte Ihre Kopfzeile sein. Sie sollten in der Lage zu bekommen

gvList.Rows[0].Cells[i] 

Das ist nur um die Zelle selbst zu bekommen. Sie müssen in die Zelle gehen und Controls [0] abrufen und in den richtigen Typ umwandeln, um die Eigenschaft Text zu erhalten.

3
string headerRowText = gvList.HeaderRow.Cells[i].Text; 

leere Zeichenfolge für mich zurück, was taten Arbeit war:

GridView1.Columns[i].HeaderText 
1

Set Gridview Eigenschaft UseAccessibleHeaderText=true

Dann auf Code- hinter, um die j-te Spalte zu erhalten:

GridView1.HeaderRow.Cells[0].Text