これは、クライアントページでデータをどのようにレンダリングしているかによって異なります。GridViewでasp.netフォームを使用していますか?データのhtmlを自分で生成していますか?
私は通常、cssクラスでこれを行います。次のようなフラグ付きアイテムのクラスがあります。
.late
{
color: #f00;
}
そして、私のhtmlが生成されている背後のコードで、すべてのhtmlを自分で作成している場合は、次のようになります。
foreach(Item item in items)
{
string cls = "";
if (item.IsLate)
cls = " class='late'";
html += "<div" + cls + ">" + item.Text + "</div>";
}
<div>Item1</div>
これにより、遅れていないアイテムと遅いアイテムが作成され<div class="late">Item2</div>
ます。また、特定の方法でスタイルを設定したい場合は、最新ではないアイテムのクラスを作成することもできます。簡単です。
フラグを立てているアイテムがサーバーコントロールであり、自分でhtmlを作成していない場合は、それらにクラスを割り当てることができます。
if (item1.IsLate)
myTextBox.CssClass = "late";
データがGridViewにバインドされている場合は、のイベントハンドラーを作成してRowDataBound
、次のようにすることができます。
protected void gridview_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
Item item = e.Row.DataItem as Item;
if (item.IsLate)
e.Row.CssClass = "late";
}
}
GridViewの個々のセルにスタイルを適用することもできます。
// 3rd cell
e.Row.Cells[2].CssClass = "late";
これらのいずれかがシナリオに適合することを願っています。