ASP.NET: Wann und wie dynamisch ändern Gridview ist headerText in code hinter?
Ich habe ein gridview mit 2 Spalten. Ich will lernen, Codierung hinter und NICHT wollen, dies zu tun, die in der aspx-Datei.
Wie kann ich den header text für meine Spalten dynamisch? An welchem Punkt mache ich das? Nachdem der adapter erfüllt das gridview mit Daten?
Jetzt habe ich den text für die Kopfzeile, aber es ist genau das gleiche wie das Datenfeld name ist Nachname und ich möchte, um zu sehen, Letzten Namen in der header-Feld statt.
Ich habe versucht
GridView1.Columns[0].HeaderText = "Last Name";
aber wo auch immer ich versuchte, es der compiler beschwert sich über index out of range.
Dank.
aspx-code für das gridview:
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True"
BackColor="White" BorderColor="#DEDFDE" BorderStyle="None" BorderWidth="1px"
Width="728px" CellPadding="4" ForeColor="Black" GridLines="Vertical" OnPageIndexChanging="GridView1_PageIndexChanging"
OnSorting="GridView1_Sorting" PageSize="14" OnRowDataBound="GridView1_RowDataBound">
<AlternatingRowStyle BackColor="White" />
<FooterStyle BackColor="#CCCC99" />
<HeaderStyle BackColor="#6B696B" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#F7F7DE" ForeColor="Black" HorizontalAlign="Right" />
<RowStyle BackColor="#F7F7DE" />
<SelectedRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" />
<SortedAscendingCellStyle BackColor="#FBFBF2" />
<SortedAscendingHeaderStyle BackColor="#848384" />
<SortedDescendingCellStyle BackColor="#EAEAD3" />
<SortedDescendingHeaderStyle BackColor="#575357" />
<PagerSettings Mode="NumericFirstLast" FirstPageText="First" LastPageText="Last"
PageButtonCount="5" Position="Bottom" />
</asp:GridView>
InformationsquelleAutor user776676 | 2011-06-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie, ihn in die GridView1.RowDataBound Ereignishandler.
Bewerten e.Zeile.RowType, um zu bestimmen, ob es eine Kopfzeile, dann ersetzen Sie die HeaderText.
Wenn Sie dynamisch erstellen der Spalten und Sortieren, müssen Sie jedoch, sich ihm zu nähern, auf diese Weise zu verhindern, dass die zufällige Umwandlung der link zu Art in plain text:
Entweder, dieses Attribut hinzufügen, um Ihre Gridview, die in der ASPX:
Vielen Dank, Joe. Aber nachdem ich es geschafft, ändern Sie die header-text: ich habe die Sortier-Möglichkeit, durch einen Klick auf die Kopfzeile der Spalte. Wenn Sie don ' T haben die Antwort sofort, ich kann nach eine separate Frage. Nochmals vielen Dank.
Siehe Aktuelles Beispiel. Sie waren tatsächlich besser aus, indem Sie die HeaderText-Attribut als das, was ich ursprünglich vorgeschlagen.
Tatsächlich, Joe, das original gearbeitet. Aber der aktualisierte code nicht. Bitte ändern Sie den code zurück, um es die richtige Antwort. Danke.
Die zweite Methode funktioniert auf jeden Fall in meinem test (umbenennen und Sortieren), es gibt also noch etwas anderes im Spiel ist. Welche Fehlermeldung bekommen Sie, immer noch "index out of range"? Konnte Sie nach dem code für das GridView?
InformationsquelleAutor Joe
Hinzufügen Page_Load, aber
nicht funktionieren würde, wie es wäre, beschweren sich, dass die Anzahl der Spalten ist 0, also:
InformationsquelleAutor Bede Amarasekara
Ich glaube, Sie wollen nicht zu binden, den text für die Kopfzeile in jeder Zeile Daten binden-Ereignis (1-mal für jede Zeile) in Ihrem Netz!
Einfach den Haken auf das Loaded-Ereignis für die Seite und binden dort den text, wie Sie es hatte.
InformationsquelleAutor SnowyNomad