根据条件 ASP.NET 更改 Gridview 颜色
Change Gridview color on condition ASP.NET
我是 asp.net
的新手,我有一个项目对我的职业生涯非常重要,如果你们能帮助我,那就太棒了..
问题来了:
我正在使用这个 gridview
代码,如果条件文本是 "Accepted",我想将 "ostatus" 数据字段颜色更改为绿色,问题是我已经尝试了互联网上使用的所有内容并更改了超过 15代码隐藏,但我无法让它改变颜色它只是不起作用。
这是gridview
代码
<asp:UpdatePanel runat="server" ID="srchuppan" UpdateMode="Always"><ContentTemplate>
<asp:GridView ID="GridView5" Style="margin-bottom: 2%; width: 100%; font-family: '0 Nazanin'; direction: rtl; background-color: white; margin: auto; text-align: center;" CssClass="table table-bordered resgrid" AutoGenerateColumns="false" runat="server">
<Columns>
<asp:TemplateField ItemStyle-Font-Size="13" HeaderStyle-Font-Size="14" HeaderText="ردیف">
<ItemTemplate>
<%# Container.DataItemIndex+1 %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Font-Size="13" HeaderStyle-Font-Size="14" HeaderText="یادداشت">
<ItemTemplate>
<asp:ImageButton ID="btnpopup" runat="server" ToolTip='<%# Eval("ydd") %>' Width="40" Height="40" ImageUrl='<%# Eval("cmcount") %>' />
<ajax:ModalPopupExtender ID="mpe" runat="server" TargetControlID="btnpopup" PopupControlID="pnlpopup"
CancelControlID="btnCancelpopup" EnableViewState="true" DropShadow="true" />
<asp:Panel ID="pnlpopup" CssClass="alertBox backpic" BackColor="White" runat="server" Width="400px">
<h1>یادداشت خود را بنویسید</h1>
<p style="color: red; font-size: 12px">(<%# Eval("order_id") %>)</p>
<hr />
<textarea id="YY" class="form-control" rows="3" style="width: 80%; margin: auto; font-size: 16px" runat="server"></textarea>
<hr />
<asp:Button ID="Yadsrch" OnClick="Yadsrch_Click" CssClass="DokmeDefBlue" runat="server" Text="ثبت یادداشت" />
<asp:Button ID="btnCancelpopup" CssClass="DokmeDefRed" runat="server" Text="بستن" />
<hr />
</asp:Panel>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderStyle-Width="2%" DataField="order_id" HeaderStyle-Font-Size="14" ItemStyle-Font-Size="13" HeaderText="کد سفارش" />
<asp:BoundField DataField="date1" ItemStyle-Font-Size="13px" HeaderStyle-Font-Size="14" HeaderText="تاریخ ثبت" />
<asp:BoundField HeaderStyle-Width="10%" DataField="name1" ItemStyle-Font-Size="13" HeaderStyle-Font-Size="14" HeaderText="نام سفارش دهنده" />
<asp:BoundField HeaderStyle-Width="10%" DataField="your_tell" ItemStyle-Font-Size="13" HeaderStyle-Font-Size="14" HeaderText="تلفن" />
<asp:BoundField DataField="P_name" ItemStyle-Font-Size="10" HeaderStyle-Font-Size="14" HeaderText="محصول" />
<asp:BoundField DataField="pay_amount" ItemStyle-Font-Size="13" HeaderStyle-Font-Size="14" HeaderText="قیمت" />
<asp:BoundField DataField="ostatus" ItemStyle-Font-Size="13" HeaderStyle-Font-Size="14" HeaderText="وضعیت" />
<asp:TemplateField ItemStyle-Font-Size="13" HeaderStyle-Font-Size="14" HeaderText="تخفیف">
<ItemTemplate>
而不是使用 "BoundField" 你应该使用 "TemplateField" 作为 ostatus
// replace this line
<asp:BoundField DataField="ostatus" ItemStyle-Font-Size="13" HeaderStyle-Font-Size="14" HeaderText="وضعیت" />
// use this
<asp:TemplateField HeaderText="وضعیت">
<ItemTemplate>
<span style="color: <%# (Eval("ostatus").ToString() == "Accepted") ? "green" : "black;" %>">
<%# Eval("ostatus") %>
</span>
</ItemTemplate>
</asp:TemplateField>
我已经使用三元运算符来检查状态是否为 "Accepted" 如果是则使用行 CSS as style="color:green;" 或 style 将文本颜色更改为绿色="color:black;" 否则。 eval 方法类似于访问有界数据源值的 BoundField 标记。
实现的方法有很多种,按照你现在的情况,这个似乎比较简单。
希望对您有所帮助
我是 asp.net
的新手,我有一个项目对我的职业生涯非常重要,如果你们能帮助我,那就太棒了..
问题来了:
我正在使用这个 gridview
代码,如果条件文本是 "Accepted",我想将 "ostatus" 数据字段颜色更改为绿色,问题是我已经尝试了互联网上使用的所有内容并更改了超过 15代码隐藏,但我无法让它改变颜色它只是不起作用。
这是gridview
代码
<asp:UpdatePanel runat="server" ID="srchuppan" UpdateMode="Always"><ContentTemplate>
<asp:GridView ID="GridView5" Style="margin-bottom: 2%; width: 100%; font-family: '0 Nazanin'; direction: rtl; background-color: white; margin: auto; text-align: center;" CssClass="table table-bordered resgrid" AutoGenerateColumns="false" runat="server">
<Columns>
<asp:TemplateField ItemStyle-Font-Size="13" HeaderStyle-Font-Size="14" HeaderText="ردیف">
<ItemTemplate>
<%# Container.DataItemIndex+1 %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Font-Size="13" HeaderStyle-Font-Size="14" HeaderText="یادداشت">
<ItemTemplate>
<asp:ImageButton ID="btnpopup" runat="server" ToolTip='<%# Eval("ydd") %>' Width="40" Height="40" ImageUrl='<%# Eval("cmcount") %>' />
<ajax:ModalPopupExtender ID="mpe" runat="server" TargetControlID="btnpopup" PopupControlID="pnlpopup"
CancelControlID="btnCancelpopup" EnableViewState="true" DropShadow="true" />
<asp:Panel ID="pnlpopup" CssClass="alertBox backpic" BackColor="White" runat="server" Width="400px">
<h1>یادداشت خود را بنویسید</h1>
<p style="color: red; font-size: 12px">(<%# Eval("order_id") %>)</p>
<hr />
<textarea id="YY" class="form-control" rows="3" style="width: 80%; margin: auto; font-size: 16px" runat="server"></textarea>
<hr />
<asp:Button ID="Yadsrch" OnClick="Yadsrch_Click" CssClass="DokmeDefBlue" runat="server" Text="ثبت یادداشت" />
<asp:Button ID="btnCancelpopup" CssClass="DokmeDefRed" runat="server" Text="بستن" />
<hr />
</asp:Panel>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderStyle-Width="2%" DataField="order_id" HeaderStyle-Font-Size="14" ItemStyle-Font-Size="13" HeaderText="کد سفارش" />
<asp:BoundField DataField="date1" ItemStyle-Font-Size="13px" HeaderStyle-Font-Size="14" HeaderText="تاریخ ثبت" />
<asp:BoundField HeaderStyle-Width="10%" DataField="name1" ItemStyle-Font-Size="13" HeaderStyle-Font-Size="14" HeaderText="نام سفارش دهنده" />
<asp:BoundField HeaderStyle-Width="10%" DataField="your_tell" ItemStyle-Font-Size="13" HeaderStyle-Font-Size="14" HeaderText="تلفن" />
<asp:BoundField DataField="P_name" ItemStyle-Font-Size="10" HeaderStyle-Font-Size="14" HeaderText="محصول" />
<asp:BoundField DataField="pay_amount" ItemStyle-Font-Size="13" HeaderStyle-Font-Size="14" HeaderText="قیمت" />
<asp:BoundField DataField="ostatus" ItemStyle-Font-Size="13" HeaderStyle-Font-Size="14" HeaderText="وضعیت" />
<asp:TemplateField ItemStyle-Font-Size="13" HeaderStyle-Font-Size="14" HeaderText="تخفیف">
<ItemTemplate>
而不是使用 "BoundField" 你应该使用 "TemplateField" 作为 ostatus
// replace this line
<asp:BoundField DataField="ostatus" ItemStyle-Font-Size="13" HeaderStyle-Font-Size="14" HeaderText="وضعیت" />
// use this
<asp:TemplateField HeaderText="وضعیت">
<ItemTemplate>
<span style="color: <%# (Eval("ostatus").ToString() == "Accepted") ? "green" : "black;" %>">
<%# Eval("ostatus") %>
</span>
</ItemTemplate>
</asp:TemplateField>
我已经使用三元运算符来检查状态是否为 "Accepted" 如果是则使用行 CSS as style="color:green;" 或 style 将文本颜色更改为绿色="color:black;" 否则。 eval 方法类似于访问有界数据源值的 BoundField 标记。
实现的方法有很多种,按照你现在的情况,这个似乎比较简单。
希望对您有所帮助