Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 不同颜色的gridview数据显示取决于文本_C#_.net_Asp.net_Gridview - Fatal编程技术网

C# 不同颜色的gridview数据显示取决于文本

C# 不同颜色的gridview数据显示取决于文本,c#,.net,asp.net,gridview,C#,.net,Asp.net,Gridview,我正在网格视图中显示学生出勤情况 我选择缺席作为A,礼物作为p,离开作为L。现在我想显示红色的A,绿色的p 怎么样。请帮助我请尝试一下,让我知道您面临的问题 protected void grdStudent_RowDataBound(object sender, System.Web.UI.WebControls.GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) {

我正在网格视图中显示学生出勤情况

我选择缺席作为A,礼物作为p,离开作为L。现在我想显示红色的A,绿色的p


怎么样。请帮助我

请尝试一下,让我知道您面临的问题

protected void grdStudent_RowDataBound(object sender, System.Web.UI.WebControls.GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        DataRow dr = ((DataRowView)e.Row.DataItem).Row;
        if (dr["Present"].ToString() == "A")
        {
            ((Label)e.Row.FindControl("yourLableID")).ForeColor= System.Drawing.Color.Red;
        //yourLableID is that lable in which you are showing A or P
        }
    }
}

请试试这个,让我知道你面临的问题

protected void grdStudent_RowDataBound(object sender, System.Web.UI.WebControls.GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        DataRow dr = ((DataRowView)e.Row.DataItem).Row;
        if (dr["Present"].ToString() == "A")
        {
            ((Label)e.Row.FindControl("yourLableID")).ForeColor= System.Drawing.Color.Red;
        //yourLableID is that lable in which you are showing A or P
        }
    }
}

我最喜欢的方法是在标记中设置颜色

    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
       <Columns>
        <asp:TemplateField>
         <ItemTemplate>
          <asp:Label runat="server" ID="lblStatus" 
              Text='<%# Eval("Status") %>' 
              ForeColor='<%# GetItemColor(Eval("Status")) %>' />
         </ItemTemplate>
        </asp:TemplateField>
       </Columns>
      </asp:GridView>
或者,您可以将逻辑直接放在标记中,但我更喜欢将尽可能多的c#代码保存在.cs文件中。
另外,asp:TemplateField比asp:BoundField更灵活。


您也可以设置BackColor属性以获得更好的可见性,但我最喜欢的方法是添加一个小的asp:Image,其中ImageUrl属性以相同的方式在3个表示状态的图像之间切换。

我最喜欢的方法是在标记中设置颜色

    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
       <Columns>
        <asp:TemplateField>
         <ItemTemplate>
          <asp:Label runat="server" ID="lblStatus" 
              Text='<%# Eval("Status") %>' 
              ForeColor='<%# GetItemColor(Eval("Status")) %>' />
         </ItemTemplate>
        </asp:TemplateField>
       </Columns>
      </asp:GridView>
或者,您可以将逻辑直接放在标记中,但我更喜欢将尽可能多的c#代码保存在.cs文件中。
另外,asp:TemplateField比asp:BoundField更灵活。


您也可以设置BackColor属性以提高可见性,但我最喜欢的是添加一个小的asp:Image,其中ImageUrl属性以相同的方式在3个表示状态的图像之间切换。

您所有的问题都写得非常糟糕,您还没有接受任何答案。您所有的问题都写得非常糟糕,你还没有接受任何答案。