Day03-2

目的

レッスンの狙い

GridViewコントロールで利用可能なXxxxxxFieldクラス

概要

GridViewコントロールで利用可能なXxxxxxFieldクラス

クラス 用途
BoundField 平のテキスト(データの整形時などに使用する標準的なフィールド)
CheckBoxField チェックボックス
HyperLinkField ハイパーリンク
ImageFieled 画像
ButtonField CommandFieldクラスで定義されていないカスタムコマンドボタン
CommandField [選択][編集][削除]など、あらかじめ用途が決められたコマンドボタン
TemplateField 列レイアウトを指定されたテンプレートに従って出力

XxxxxxFieldクラスで利用可能な主なプロパティ

共通
プロパティ 概要
ControlStyle セル内に配置されたコントロールの外側
HeaderStyle ヘッダ部の外観
FooterStyle フッタ部の外観
ItemStyle セル内のテキストの外観
ShowHeader ヘッダを表示するか
HeaderText ヘッダ上に表示するテキスト
FooterText フッタ上に表示するテキスト
SortExpression ソートに使用する式
InsertVisible 挿入モードの場合に本フィールドを使用するかどうか
BoundFieldのプロパティ
プロパティ 概要
DataField 列にバインドするフィールド名
DataFormatString フィールド値を整形するための書式文字列
HtmlEncode フィールド値にHTMLエンコードを適用するか
ApplyFormatEditMode 編集モードの場合にもDataFormatStringプロパティで指定した書式文字列を利用するか
ConvertEmptyStringToNull から文字列を自動的にnullに変換するか
NullDisplayText フィールド値がnullである場合に表示する代替テキスト
ReadOnly 編集モードでフィールド値を変更可能か(Trueの場合は編集不可)
HyperLinkField
プロパティ 概要
DataNavigateUrlFormatString リンク先を表す書式文字列
DataNavigateUrlFields リンク先にバインドするフィールド名(複数指定も可)
DataTextFormatString リンクテキストを表す書式文字列
DataTextField リンクテキストにバインドするフィールド名
NavigateUrl リンク先を表すテキスト(固定値)
Text リンクテキストを表すテキスト(固定値)
Target リンクターゲット
ImageField
プロパティ 概要
DataImageUrlFormatString リンク先を表す書式文字列
DataImageUrlField リンク先にバインドするフィールド名(複数指定も可)
DataAltermateTextFormatString 大体テキストを表す書式文字列
DataAltermateTextField 大体テキストにバインドするフィールド名
AltermateText 代替テキスト(固定値)
NullImageUrl 表示画像(フィールド値がnullである場合)
NullDisplayText 代替テキスト(フィールドがnullである場合)
ConvertEmptyStringToNull 空文字列をnullで自動変換するか
ReadOnly 編集モードでフィールド値を変更可能か(Trueの場合は編集不可)
CheckBoxField
プロパティ 概要
DataField バインドするフィールド名
Text チェックボックスと合わせて表示するテキスト
CommandField
プロパティ 概要
ShowXxxxxButton [編集][削除][選択]ボタンを表示するか
ButtonType ボタンの種類(Button, Link, Image)
XxxxxImageUrl ボタン表示に使用する画像(ButtonType=Imageの場合)
XxxxxText ボタンキャプション
CausesValidation ボタンクリック時に検証処理を実行するか
ButtonField
プロパティ 概要
ButtonType ボタンの種類(Button, Link, Image)
DataTextFormatString ボタンキャプションを表す書式文字列
DataTextField ボタンキャプションにバインドするフィールド名
CommandName コマンド名
ImageUrl ボタン画像(ButtonType="Image"の場合)
Text ボタンキャプション(固定値)
CausesValidation ボタンクリック時に検証処理を実行するか

日付/数値データの表示形式を変更

プレイスホルダ

HtmlEncodeプロパティ

動的に画像やハイパーリンクを作成

プレイスホルダの書き方

グリッド業の出力を動的にカスタマイズ

ページ数を動的に書き込むコード

Protected Sub grid_RowCreated(Byval sender As Object, Byval e As System.Web.UI.WebControls.GridViewRowEventArgs)
  If e.Row.RowType = DataControlRowType.Footer Then
    Dim ltr As New LiteralControl("総ページ数: " & grid.PageCount)
    cell.HorizontalAlign = HorizontalAlign.Right
    cell.Wrap = False
    cell.Controls.Add(ltr)
  End If
End Sub

解説

第一引数: sender As Object
第二引数

TableCellクラスで利用可能な主なメンバ

プロパティ 概要
ColumnSpan セル幅を示す列数
RowSpan セルの高さを示す行数
HorizontalAlign 水平方向の配置
VerticalAlign 垂直方向の配置
Text セル内のテキスト
Wrap セルの内容を折り返すか
Control セル内のコントロール群

RowCreatedイベントハンドラでグリッド行の内容を操作する手順

捜査対象の行をRowTypeプロパティで特定 GridViewRow.Cellプロパティを介して、行内の特定セルを取得 TabaleCell.Controlプロパティで取得したControlCollectionオブジェクトに対してコントロールを追加/削除

まとめ

GridViewコントロールの各列をカスタマイズするには、XxxxxFieldクラスを利用する。 XxxxxFieldクラスのXxxxxFormatStringプロパティによって、それぞれの列にバインドされたデータを格納することができる。

TOP