- PR -

(ASP.NET)グリッド内に画像表示をコーディングでしたい

1
投稿者投稿内容
PoH
常連さん
会議室デビュー日: 2003/09/09
投稿数: 48
投稿日時: 2005-01-07 16:38
Webフォーム,C#で作成しています。
データグリッドの中である列の値を判断して
別の列にその値に応じた画像を表示したいのですが
いろいろ調べたところプロパティ等で設定するものは
見受けられたのですが(DBの列に画像のURLが入っている場合等)
コーディングで書かれているサンプルを見つけることができませんでした
どなたかご教授願えませんでしょうか?

具体的にはItemDataBoundのイベント内で記述しようと思っています。

if (e.Item.ItemType == ListItemType.Item ||
e.Item.ItemType == ListItemType.AlternatingItem)
{
if (e.Item.DataItem != null)
{
DataRow row = ((DataRowView)e.Item.DataItem).Row;
//列の値を取得
string strData = (string) row["判断する列"];

//判断列のデータが"1"なら"test.gif"それ以外は"other.gif"を表示
if (strData == "1")
{
//ここで画像表示列に指定の画像"test.gif"を
//表示させるコーディングをしたい。
}
else
{
//それ以外の場合"other.gif"を
//表示させるコーディングをしたい。
}
}
}

PoH
常連さん
会議室デビュー日: 2003/09/09
投稿数: 48
投稿日時: 2005-01-07 16:41
コードがインデントが消えていて
ものすごく見にくくなっていましたすいません。
以下書き直します

コード:
if (e.Item.ItemType == ListItemType.Item ||
  e.Item.ItemType == ListItemType.AlternatingItem) 
{
  if (e.Item.DataItem != null) 
  {
    DataRow row = ((DataRowView)e.Item.DataItem).Row;
    //列の値を取得
    string strData = (string) row["判断する列"];
    
    //判断列のデータが"1"なら"test.gif"それ以外は"other.gif"を表示
    if (strData == "1") 
    {
      //ここで画像表示列に指定の画像"test.gif"を
      //表示させるコーディングをしたい。
    }
    else
    {
      //それ以外の場合"other.gif"を
      //表示させるコーディングをしたい。
    }
  }
}

todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2005-01-07 17:52
(1)
e.Item.Cells[x].Text = "<img src='test.gif' border=0>";

(2)
System.Web.UI.WebControls.Image img = new System.Web.UI.WebControls.Image();
img.ImageUrl = "test.gif";
//e.Item.Cells[x].Controls.Clear();
e.Item.Cells[x].Controls.Add(img);

(3)
DataGridコントロール内のドロップダウンリストに動的に項目を追加するには?
の応用で、「DataGridコントロール内のImageコントロールに動的にImageUrlプロパティを設定する」
PoH
常連さん
会議室デビュー日: 2003/09/09
投稿数: 48
投稿日時: 2005-01-12 10:01
todoさんありがとうございました。
ご教授いただいた方法で解決いたしました。
m(_ _)m
1

スキルアップ/キャリアアップ(JOB@IT)