0

やあみんな、私は本当に簡単なことをしようとしています.. データ行のデータ列が > 0 の場合はチェックしています < 0 が透明のままである場合、データリストのアイテムの背景色を緑にしたい...

if (e.Item.ItemType == ListItemType.Item ||
         e.Item.ItemType == ListItemType.AlternatingItem)
    {
        DataRowView drv = (DataRowView)(e.Item.DataItem);
        int rating = int.Parse(drv.Row["rating"].ToString());

        if (rating > 0)
        {
            e.Item.BackColor = System.Drawing.Color.Green;
        }

    }

私はデバッガーを使いこなしましたが、色が変化していないすべての条件を満たしています..単純なものでなければならないことはわかっています。

4

2 に答える 2

2

背景色を変更するコントロールのインスタンスをインスタンス化するには、e.Item.FindControl を使用する必要があります。

if (e.Item.ItemType == ListItemType.Item ||
     e.Item.ItemType == ListItemType.AlternatingItem)
    {
        DataRowView drv = (DataRowView)(e.Item.DataItem);
        int rating = int.Parse(drv.Row["rating"].ToString());

        if (rating > 0)
        {
            Label lbl = (Label)e.Item.FindControl("yourLabelIDHere");
            lbl.BackColor = System.Drawing.Color.Green;

        }
    }
于 2010-05-17T21:32:32.583 に答える
1

このコードはどこに配置されていますか? それはイベントにある必要がありますOnRowDataBound()。上記を に入れているようですOnItemDataBound()

于 2010-05-17T20:47:23.173 に答える