/ / GridView Tekst nagłówka w asp.net - c #, asp.net, gridview, nagłówek, dynamiczny

Tekst nagłówka GridView w asp.net - c #, asp.net, gridview, nagłówek, dynamiczny

Cześć ludzie, Chcę zmienić tekst nagłówka gridview za pomocą Design .. z <TemplateField HeaderText="">

Stworzyłem zmienną w kodzie, za którym jest publiczny i ustawić wartość w tej zmiennej, a następnie próbowałem wywołać tę zmienną tutaj, jak poniżej:

<TemplateField HeaderText = "<%= VariableCallHere %>"

ale podczas działania strony otrzymałem <% = VariableCallHere%> jako tekst nagłówka nawet próbowałem zmienić używanie gridView1.HeaderRow.Cells[0].Text = "text Here" (Ten błąd odniesień do obiektu rzutuje)

Każdy ma jakieś sugestie, jak można to osiągnąć.

Odpowiedzi:

8 dla odpowiedzi № 1

Powinno być gridview1.Columns[ColumnIndex].HeaderText = "Header text";


1 dla odpowiedzi nr 2

W tym celu w zdarzeniu RowDataBound kontrolki gridview, której potrzebujesz napisać jak następuje:

if (e.Row.RowType == DataControlRowType.Header)
{
e.Row.Cells[0].Text = "column 1";
e.Row.Cells[1].Text = "column 2";
.....
}

0 dla odpowiedzi № 3

Używam go w ten sposób dla wielojęzyczności, który działa dobrze NIE potrzebuje dodatkowej pracy do iterowania wierszy, po prostu umieść go tam i pozwól mu pracować

<asp:BoundField DataField="TITLE_NAME" HeaderText="<%$ Resources:Site,lblTitleName %>"
ItemStyle-Width="20%">
<HeaderStyle HorizontalAlign="Left" />
</asp:BoundField>

0 dla odpowiedzi nr 4

Przejdź do niego przez kolekcję kolumn:

gridview1.Columns[Index].HeaderText= "text Here";

Jak w:

gridview1.Columns[0].HeaderText= "text Here";

0 dla odpowiedzi № 5
       if (e.Row.RowType == DataControlRowType.Header)
{
Label lblAddInText = (Label)e.Row.FindControl("lblAddInText");
lblAddInText.Text = "ADD IN TEXT"
}

w RowCreated Event of Gridview. Używanie i oznaczanie w.