プログレスバーの値を含む列を持つ Gridview があります。各行の進行状況を表示できましたが、ブール値 ( True/False ) を持つ別の列に基づいて進行状況バーの色を変更する方法を探しています。値が True の場合、色は緑になります。値が False の場合、色は赤になります。単一の進行状況バーの色を変更することはできましたが、行ごとに Gridview で変更することはできませんでした! ブール列はステータスで、プログレスバーの値は進行中です。
前もって感謝します!
ASPの GridView :
更新しました:
<Columns>
<asp:TemplateField>
<ItemTemplate>
<%# Container.DataItemIndex + 1 %>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="progress" HeaderText="Progress" SortExpression="progress" />
<asp:BoundField DataField="status" HeaderText="status" SortExpression="status" />
<asp:TemplateField>
<ItemTemplate>
<div class="pbcontainer">
<div class="progressbar"><span><%# Eval("progress") %>%</span></div>
<div class="value" style="visibility:hidden; height:0; width:0;"> <%# Eval("progress") %> </div>
<div class="status" style="visibility:hidden; height:0; width:0;"> <%# Eval("status") %> </div>
</div>
</ItemTemplate>
</asp:TemplateField>
</Columns>
脚本:
更新しました:
<script>
$(function () {
$('.pbcontainer').each(function () {
var val = parseInt($(".value", this).text());
var status = $(".status", this).text();
var progressColor = "Orange";
var progressBackColor = "lightYellow";
if (status == "False") {
progressColor = "Red";
console.log(progressColor);
}
else {
progressColor = "Green";
console.log(progressColor);
}
$('.progressbar', this).progressbar({ value: val });
$('.progressbar', this).css({ 'background': progressBackColor });
$('.progressbar > div', this).css({ 'background': progressColor });
});
});
</script>
編集:コードを更新しましたが、それでも色は常に緑です! Ifステートメントが機能していないように?!