×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
//===========================
// Version : ASP2.0
// Language : C#
//===========================
①
GridViewコントロールに、SqlDataSourceを紐付け、
表示したいテーブル(以下:テーブルA)を読み込む。
②
表示の分岐を行いたいカラム(以下:カラム①)を、
「列の編集」で「TemplateField」化。
③
「テンプレートの編集」を開き、カラム①のテンプレート(ItemTemplate)に
「Label」が配置されていることを確認。
④
「Label」の「DataBindingsの編集」で、「バインド可能なプロパティ」から「Text」を選択する。
(Text以外にVisible等も、ほぼ同様の設定を行うことで複数の分岐が可能になる)
⑤
「カスタムバインド」を選択し、TextBox内に「ユーザー関数名( Eval("カラム①") )」を記述。
⑥
DataBindingsの設定は以上で、OKで終了。
⑦
Templateの設定を行った「ASPX」に紐付く「ASPX.CS」内に、以下を作成する。
<ユーザー関数例>
/// <summary>
/// 文字列表示
/// </summary>
/// <param name="bflg"></param>
/// <returns></returns>
public object ユーザー関数名(object カラム①のObject)
{
string strObj = obj.ToString();
switch (strObj)
{
case "0":
strObj = "test1";
break;
case "1":
strObj = "test2";
break;
case "2":
strObj = "test3";
break;
default:
strObj = "err";
break;
}
// 実際に表示されるものを返す
return strObj;
}
⑧実行後、GridView内のカラム①が、テーブルAのデータを基に、
ユーザー関数で分岐させたテキストに変更されていれば大成功。
// 【参考】どっとねっとふぁんBlog
// Visibleの場合のカスタムバインドの設定等を詳しくされています。
// http://dotnetfan.org/blogs/dotnetfanblog/articles/692.aspx
PR
この記事にコメントする
