私はカスタマイズされたgridviewを持っています。私のグリッドは、ヘッダーを1回クリックするだけで、ユーザー(プログラマー)によるソートなどの設定やオーバーロードの方法なしで、各列をソートできます。(私はこれを正常に実行し、正常に動作します)ユーザー(プログラマー) テンプレート フィールド、ハイパーリンク フィールド、バインド フィールドなど、グリッドに各列を追加できます。ソートするには、列のデータフィールドにアクセスする必要があります。私はこのコードでバインドされたフィールド列にアクセスできます.私はデータフィールドとヘッダーテキストにアクセスできます.サンプル:
for (int j = 0; j < this.Columns.Count; j++)
{
BoundField bf;
bf = this.Columns[j] as BoundField;
if (bf != null)
{
string ht = bf.HeaderText;
string df = bf.DataField;
}
}
ただし、ColumnBound などの templateField でコントロールにアクセスできます。サンプル:
<asp:Label ID="Label1" runat="server" Text='<%# Bind("Name") %>'></asp:Label>
アクセス "Name" (Bind ("Name") または Eval ("Name")) が必要です。どうやって?ポイントがあります: テンプレートフィールドのコントロールの ID (この場合は「Label1」) がわかりません。特別な感謝