1

データテーブルを gridview コントロールにバインドしています。各列をフォーマットするときは、その列に特定のカスタム属性があるかどうかに基づいてデータをフォーマットする必要があります。この場合、列は次のものを表すことができます。

  • テキスト ボックス (この場合、テキスト ボックスのテキストをグリッドビューに表示するだけです)、
  • チェックボックス (この場合、列の基になるデータ値が 1 か 0 かに基づいて「チェック済み」または「チェックなし」を表示します)、
  • ラジオ ボタン (この場合、列の基になるデータ値が 1 か 0 かに基づいて「オン」または「オフ」を表示します)。

問題は、現在、グリッドにバインドされている型指定されていないデータ テーブルの列のデータ型がすべて文字列であることです。そしてバインディングは autoGenerateColumns を使用します。そう:

  1. 列にラジオ、テキストボックス、またはチェックボックスのフラグを付けるにはどうすればよいですか?
  2. グリッドにバインドしてテキスト、「チェックあり/チェックなし」、または「オン/オフ」を表示するときに、その「フラグ」にアクセスするにはどうすればよいですか?

私はこれを正しく尋ねたと思います。ふぅ!

4

3 に答える 3

2

わかりました-適切なデータ型の DataTable 列に拡張プロパティを追加し、1..numColumns からのループで GridView の RowDataBound イベントでそれらをチェックしました。

myProperty=e.Row.DataItem.dataview.table.columns(i).extendedproperties("TYPE")

タイプに基づいて値 (e.Row.Cells(i).Text) を設定します。

于 2008-11-07T22:37:35.723 に答える
0

これを行う最善の方法は、列の自動生成をオフにしてから、関心のある列の BoundFields を TemplateFields に置き換えることです。詳細については、 ASP.NET に関するチュートリアルを参照してください。

于 2008-11-07T16:52:10.320 に答える
0

テンプレートフィールドは問題ありません。私が知らないのは、GridView データバインディング中に読み取ることができるメタデータをデータテーブル列に追加する方法です。たとえば、チェックボックス データを含む列にバインドする場合、列に "Checked" または "Unchecked" という単語を入れたいのですが、列のデータ型が含まれるようにデータ テーブルに注釈を付ける必要があります。

于 2008-11-07T18:13:55.727 に答える