gridview有一列,里面存的数字,本来只有1和2的
<asp:TemplateField HeaderText="状态" SortExpression="appstate">
                                                            <ItemTemplate>
                                                                <asp:Label ID="Label1" runat="server" Text='<%# Eval("appstate").ToString() == "0"  ? "拒绝" : "通过" %>'></asp:Label>
                                                            </ItemTemplate>
                                                            <HeaderStyle Width="55px" HorizontalAlign="Center"/>
                                                            <ItemStyle Width="55px" HorizontalAlign="Center"/>
                                                        </asp:TemplateField>
现在这列里有数字3了,表示正在审批,该怎么改啊

解决方案 »

  1.   

    在后台写哈
      先查询出  数字是几 
    再来个判断   如果是3就显示“审批”
       e.Rows[?].Text="审批"
      

  2.   

    <%# Eval("appstate").ToString() == "0" ? "拒绝" : 
        Eval("appstate").ToString() == "1" ?"通过" :
        Eval("appstate").ToString() == "2" ?"审批" : ""
    %>
      

  3.   

    前台:
    <ItemTemplate>
     <asp:Label ID="Label1" runat="server" Text=‘<%# GetState(Eval("appstate").ToString())%>’></asp:Label>
    </ItemTemplate>后台:
     protected string GetState(string str)
        {
          string state="";
          //根据str状态判断给state赋值
           return state;
        }
      

  4.   

    你可以在后台用if()else()先判断,前台接受一个字符串就可以了。
      

  5.   

    <%# Eval("appstate").ToString() == "0"  ? "拒绝" :(Eval("appstate").ToString() == "2"? "通过":"审批" )%>
      

  6.   


    <asp:TemplateField HeaderText="状态" SortExpression="appstate">
                                                                <ItemTemplate>
                                                                    <asp:Label ID="Label1" runat="server" Text='<%# Status(Eval("appstate").ToString()) %>'></asp:Label>
                                                                </ItemTemplate>
                                                                <HeaderStyle Width="55px" HorizontalAlign="Center"/>
                                                                <ItemStyle Width="55px" HorizontalAlign="Center"/>
                                                            </asp:TemplateField> protected string Status(string name)
            {
                return 取状态名称的方法
            }
      

  7.   

    我自己搞定了大家来接分啊
    //判断当前行是否是数据行
                if (e.Row.RowType == DataControlRowType.DataRow)
                {  //用FindControl方法找到模板中的Label控件
                    Label lb1 = (Label)e.Row.FindControl("Label1");
                    //因为RowDataBound是发生在数据绑定之后,所以我们可以
                    //判断Label绑定的数据
                    if (lb1.Text == "1")
                    {
                        lb1.Text = "正在审批";
                    }
                    if (lb1.Text == "0")
                    {
                        lb1.Text = "审批被拒";
                    }
                    if (lb1.Text == "3")
                    {
                        lb1.Text = "审批通过";
                    }
                }