DataGrid クラス

データ ソースの項目をテーブルで表示するデータ連結リスト コントロール。 DataGrid コントロールにより、これらの項目の選択、並べ替え、編集ができます。

この型のすべてのメンバの一覧については、DataGrid メンバ を参照してください。

System.Object
   System.Web.UI.Control
      System.Web.UI.WebControls.WebControl
         System.Web.UI.WebControls.BaseDataList
            System.Web.UI.WebControls.DataGrid

Public Class DataGrid
   Inherits BaseDataList
   Implements INamingContainer
[C#]
public class DataGrid : BaseDataList, INamingContainer
[C++]
public __gc class DataGrid : public BaseDataList, INamingContainer
[JScript]
public class DataGrid extends BaseDataList implements
   INamingContainer

スレッドセーフ

この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。

解説

DataGrid コントロールを使用して、データ ソースのフィールドをテーブルの列として表示します。 DataGrid コントロールの各行は、データ ソースのレコードを表します。 DataGrid コントロールは選択、編集、削除、ページング、並べ替えをサポートしています。

さまざまな列の型があり、それによってコントロール内の列の機能は異なります。使用できるさまざまな列型の一覧を次の表に示します。

列型 説明
BoundColumn データ ソースのフィールドに連結されている列を表示します。各項目はフィールドにテキストとして表示されます。この型は DataGrid コントロールの既定の列型です。
ButtonColumn 列の各項目に対してコマンド ボタンを表示します。この列を使用して、[Add] ボタンや [Remove] ボタンなどのカスタム ボタン コントロールの列を作成できます。
EditCommandColumn 列の各項目に対して、編集コマンドが格納されている列を表示します。
HyperLinkColumn 列の各項目の内容をハイパーリンクとして表示します。列の内容は、データ ソースのフィールドまたは静的テキストに連結できます。
TemplateColumn 指定したテンプレートに従って、列の各項目を表示します。この機能により、列にカスタム コントロールを作成できます。

既定では AutoGenerateColumns プロパティは true に設定されています。つまり、データ ソース内の各フィールドに対して BoundColumn オブジェクトが作成されます。次に、各フィールドはデータ ソースに表示される順序で DataGrid コントロールの列として表示されます。

また、 AutoGenerateColumns プロパティを false に設定し、開始および終了の <Columns> タグで囲む列を一覧表示すると、どの列を DataGrid コントロールに表示するかを手動で制御できます。指定した列が、一覧表の順序で Columns コレクションに追加されます。この機能により、 DataGrid コントロールの列をプログラムにより制御できます。

メモ   列が DataGrid コントロールに表示される順序は、列が Columns コレクションの中に表示される順序により制御されます。 Columns コレクションを操作して列の順序をプログラムにより変更できますが、列を並べたい順序で一覧表示する方がより簡単です。

明示的に宣言された列を、自動的に生成された列と組み合わせて表示できます。両方の列を使用する場合は、明示的に宣言された列が最初に表示され、次に自動的に生成された列が表示されます。

メモ   自動的に生成された列は、 Columns コレクションに追加されません。

DataGrid コントロールの外観は、コントロールのさまざまな部分に対してスタイル プロパティを設定することによってカスタマイズできます。さまざまなスタイル プロパティの一覧を次の表に示します。

スタイル プロパティ 説明
AlternatingItemStyle DataGrid コントロールの交互の項目のスタイルを指定します。
EditItemStyle DataGrid コントロールの編集中の項目のスタイルを指定します。
FooterStyle DataGrid コントロールのフッター セクションのスタイルを指定します。
HeaderStyle DataGrid コントロールのヘッダー セクションのスタイルを指定します。
ItemStyle DataGrid コントロールの項目のスタイルを指定します。
PagerStyle DataGrid コントロールのページ選択セクションのスタイルを指定します。
SelectedItemStyle DataGrid コントロール内の選択された項目のスタイルを指定します。

コントロールのさまざまな部分を表示または非表示にすることもできます。表示または非表示にする部分を制御するプロパティの一覧を次の表に示します。

プロパティ 説明
ShowFooter DataGrid コントロールのフッター セクションを表示または非表示にします。
ShowHeader DataGrid コントロールのヘッダー セクションを表示または非表示にします。

ブラウザでコントロールが表示する <td> タグと <tr> タグにプログラムにより属性を追加することで、 DataGrid コントロールの外観を制御できます。属性をプログラムにより追加するには、 OnItemCreated イベントまたは OnItemDataBound イベントのイベント ハンドラにコードを作成します。

<td> タグに属性を追加するには、まず、属性の追加先である DataGrid コントロールのセルを表す TableCell オブジェクトを取得します。イベント ハンドラに渡された DataGridItemEventArgs オブジェクトの Item プロパティの Control.Controls コレクションを使用すると、目的の TableCell オブジェクトを取得できます。続いて、 TableCell オブジェクトの Attributes コレクションの AttributeCollection.Add メソッドを使用すると、 <td> タグに属性を追加できます。

<tr> タグに属性を追加するには、まず、属性の追加先である DataGrid コントロールの列を表す DataGridItem オブジェクトを取得します。イベント ハンドラに渡された DataGridItemEventArgs オブジェクトの Item プロパティを使用すると、目的の DataGridItem オブジェクトを取得できます。続いて、 DataGridItem オブジェクトの Attributes コレクションの AttributeCollection.Add メソッドを使用すると、 <tr> タグに属性を追加できます。

注意   このコントロールは、ユーザー入力を表示するために使用できます。ユーザー入力には悪意のあるクライアント スクリプトが含まれている可能性があります。アプリケーションに表示する前に、クライアントから送信された実行スクリプト、SQL ステートメントなどのコードの情報はすべて検査してください。ASP.NET には入力要求の検証機能があり、ユーザー入力の中のスクリプトと HTML をブロックできます。検証サーバー コントロールは、ユーザー入力を査定する目的でも用意されています。詳細については、「 検証サーバー コントロール 」を参照してください。

必要条件

名前空間: System.Web.UI.WebControls

プラットフォーム: Windows 2000, Windows XP Professional, Windows Server 2003 ファミリ

アセンブリ: System.Web (System.Web.dll 内)

参照

DataGrid メンバ | System.Web.UI.WebControls 名前空間 | BaseDataList | DataList | Repeater | BoundColumn | ButtonColumn | EditCommandColumn | HyperLinkColumn | TemplateColumn