用gridview从数据库中查的是一些代码,需要将代码替换成文字,该怎么操作?我以前是这样处理的:
        for (int i = 0; i < GridView1.Rows.Count; i++)
        { 
            if ( GridView1.Rows[i].Cells[2].Text== "xxx" )
            {
                GridView1.Rows[i].Cells[2].Text= "XXX";
            }
            else if (GridView1.Rows[i].Cells[2].Text=="xxx")
            {
                GridView1.Rows[i].Cells[2].Text= "XXX"; 
            }
              …………………………
              …………………………
              …………………………
            else
            {
                GridView1.Rows[i].Cells[2].Text="XXX";
            }
        }但是这样一旦分页显示,替换的内容就无效了

解决方案 »

  1.   

    在CS文件里写一个方法
     public string ShowWord(int state)
    {
            switch (state)
            {
                case 0: return "显示1";
                case 1: return "显示2";
                case 2: return "显示3";
                
                default: return "显示4";
            }
     }在html代码里面
     <asp:TemplateField HeaderText="显示的列名">
        <ItemTemplate>
          <asp:Label ID="Label3" runat="server" Text='<%# ShowWord(Convert.ToInt32(Eval("s_status"))) %>'></asp:Label>
        </ItemTemplate>
    </asp:TemplateField>
      

  2.   

    void CustomersGridView_RowDataBound(Object sender, GridViewRowEventArgs e)
      {
            
        if(e.Row.RowType == DataControlRowType.DataRow)
        {
          if(e.Row.Cell[0].Text=="1")
            ...
        }
        
      }