猿问

在 ASP.NET 条件下更改 Gridview 颜色

我是新手asp.net,我有一个对我的职业生涯非常重要的项目,如果你们能帮助我,那就太棒了..


问题是:我正在使用此gridview代码,如果条件文本为“已接受”,我想将“状态”数据字段颜色更改为绿色,问题是我已经尝试了互联网上使用的所有内容并更改了超过 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>



交互式爱情
浏览 157回答 1
1回答

慕容森

而不是使用“BoundField”,你应该使用“TemplateField”作为状态// replace this line<asp:BoundField DataField="ostatus" ItemStyle-Font-Size="13" HeaderStyle-Font-Size="14" HeaderText="وضعیت" />// use this<asp:TemplateField HeaderText="وضعیت">&nbsp; &nbsp; <ItemTemplate>&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: <%# (Eval("ostatus").ToString() == "Accepted") ? "green" : "black;" %>">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <%# Eval("ostatus") %>&nbsp; &nbsp; &nbsp; &nbsp; </span>&nbsp; &nbsp; &nbsp;&nbsp; &nbsp; </ItemTemplate></asp:TemplateField>我已经使用三元运算符来检查状态是否“已接受”,如果是,则使用行内 CSS 作为 style="color:green;" 将文本颜色更改为绿色 或 style="color:black;" 除此以外。Eval 方法类似于访问有界数据源值的 BoundField 标记。有很多方法可以实现这一点,根据您目前的情况,这似乎很简单。希望能帮助到你
随时随地看视频慕课网APP
我要回答