- PR -

DataGridに新着アイコンを表示する方法は?

1
投稿者投稿内容
てっちゃん
常連さん
会議室デビュー日: 2005/05/10
投稿数: 23
投稿日時: 2005-08-11 16:44
いつも参考にしています。
データベースから名前、登録日を抽出し、DataGridに表示させ
その際登録日が今日より20日以内のものにはDataGridの一番左の
列に新着アイコンを表示しようと思い、下記の通りコーディング
しましたが、新着分についてはアイコンが表示されますが、新着
以外の場合は String.Emptyを送っているせいか画像表示待ちのような
アイコンが表示されてしまいます。
どなたか解決策をお持ちの方アドバイスをお願いします。

【フォーム】
<asp:TemplateColumn>
<ItemTemplate>
<asp:image Runat="server" imageurl='<%# GetImg(Container.DataItem) %>' />
</ItemTemplate>
</asp:TemplateColumn>
:
:
【コード】
Function GetImg(ByVal drv As DataRowView) As String

Dim drow As DataRow = drv.Row
'今日より30日前
Dim wkDate As Date = DateAdd("d", -50, Now)
Dim wkLast As Date = drow("LAST_CONFIRM_DATE")

If wkLast < wkDate Then
Return String.Empty
Else
Return "images/new_anime.gif"
End If

End Function

よろしくお願いします。
trapemiya
大ベテラン
会議室デビュー日: 2005/07/30
投稿数: 102
投稿日時: 2005-08-11 16:48
VisibleをFalseにするだけではダメでしょうか?
てっちゃん
常連さん
会議室デビュー日: 2005/05/10
投稿数: 23
投稿日時: 2005-08-11 16:59
trapemiyaさん 早速のご回答ありがとうございました。
お恥ずかしい質問ですが、Visibleを切り替えるのは
どのようにしたらよろしいでしょうか?
GetImg Functionの中で出来ますか?
それとも他の方法でしょうか?
度々ですみませんがよろしくお願いします。
にしざき
ぬし
会議室デビュー日: 2003/06/30
投稿数: 304
投稿日時: 2005-08-11 17:35
imageurl='images/new_anime.gif' とし、
GetImg のかわりに同内容で Boolean を返す GetVisible を作って、
visible='<%# GetVisible(Container.DataItem) %>' />
とすればよいでしょう。
てっちゃん
常連さん
会議室デビュー日: 2005/05/10
投稿数: 23
投稿日時: 2005-08-11 17:46
にしざきさん アドバイスありがとうございました。
おかげさまで解決できました。
そうか、発想を変えないと駄目ですね。
なかなかうまくいかなかったので、新着アイコンとは別に
白い画像を表示させようかとも考えてしまいました。
にしざきさん、trapemiyaさん ありがとうございました。
1

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