1

AutoGenerateColumns=trueを使用してグリッドビューにいくつかのクラスのリストを表示しています。

このクラスには70以上のプロパティがあります。

次に、グリッドビューの列ヘッダーを変更する必要があります。たとえば、クラスには「ProductName」というプロパティがありますが、グリッドビューでは「Name」を表示する必要があります。

1つの方法は、AutoGenerateColumnsを削除し、すべてをバウンドフィールドとして指定することです。しかし、それは手動コーディングでは多すぎます...むしろデータ入力です!

グリッドビューのヘッダー列として表示されるクラスプロパティのDisplay属性を使用することを考えていました。

[Display(Name="Product")] public string ProdcutName { get; set;}

GridviewでDisplay属性を使用する方法はありますか?

また、他の何かを提案します...

4

1 に答える 1

0

1 つのオプションは、ヘッダー テキストの値を操作できる RowDataBound イベントを使用することです。

列のインデックスが常に同じであることがわかっている場合は、次のような簡単なことを行うことができます。

if (e.Row.RowType == DataControlRowType.Header)
{
  e.Row.Cells[ColIndex].Text = "Product";
}

または、宣言的に設定することもできます。

gView.Columns[ColIndex].HeaderText = "Product";
于 2012-11-19T16:38:28.887 に答える