- PR -

ASP.NETでの条件付書式を設定したい

投稿者投稿内容
mino
会議室デビュー日: 2006/09/15
投稿数: 5
投稿日時: 2006-09-15 14:52
基礎からやってみては?
Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim now_price As Integer
'700円だったら?
now_price = 700

If now_price >= 500 Then
'赤
label1.ForeColor = Drawing.Color.Red
label1.Font.Size = 10
label1.Text = "特別価格:" & now_price
Else
'黒
label1.ForeColor = Drawing.Color.Black
label1.Font.Size = 10
label1.Text = "通常価格:" & now_price
End If
End Sub
SOLMEN
会議室デビュー日: 2006/09/13
投稿数: 9
投稿日時: 2006-09-18 15:49
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)

Dim i As Integer
Dim labelbox As Label

For i = 0 To 500

labelbox = Repeater1.Items(i).FindControl("Lbl_2")

If labelbox.Text = 200 Then
labelbox.ForeColor = Drawing.Color.Red
Else
labelbox.ForeColor = Drawing.Color.Black
End If

Next

End Sub
上記のようにループを設定し、Repeaterコントロールの値を取得しました。
しかし、ラベルのテキストの色が変わりません。
何か原因があるのでしょうか?
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-09-18 23:40
Page.Load だからですよ。
そこではバインドされていないので、アイテムもありません。

ってか、最初に実行したときに、そのコードでは例外が発生するはずですが?


テーブルに、COLOR_STRING とかってカラムを追加定義して、そこの expression だったかのプロパティに、"IIF(通常価格>500,RED,BLACK)" だったと思う文字列を定義し、それをバインドさせればいい。
というのを、過去に投稿したように思う。

当然、リファレンスを参照して、正しくコード化してください。

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