在绑定时处理:
Private Sub DG1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DG1.ItemDataBound
        If e.Item.Cells(1).Text = -1 Then
            e.Item.Cells(2).Text = "已删除"
        ElseIf e.Item.Cells(1).Text = 0 Then
            e.Item.Cells(2).Text = "待处理"
        Else
            e.Item.Cells(2).Text = "已处理"
        End If
End Sub

解决方案 »

  1.   

    如果只有两种状态,可在datagrid的相应列里这样改:
    <asp:TemplateColumn HeaderText="state">
    <ItemTemplate>
    <asp:Label runat="server" Text='<%# iif(Container.DataItem("state")=0,"待处理","已处理") %>' ID="Label1">
    </asp:Label>
    </ItemTemplate>
    </asp:TemplateColumn>
    有三种情况的我不知道:)
    希望能有所帮助!
      

  2.   

    那有没有谁知道第三种情况下的怎么下啊?我想应该是个swith或类似的吧
      

  3.   

    <asp:TemplateColumn HeaderText="state">
    <ItemTemplate>
    <asp:Label runat="server" Text='<%# FunCtionA(Container.DataItem("state")) %>' ID="Label1">
    </asp:Label>
    </ItemTemplate>
    </asp:TemplateColumn>
     
    private string FunCtionA(int a)
    {
     if(a==-1)
     {
       tempstr= "已删除";
     }
      if(a==0)
     {
      tempstr = "待处理";
      }
      if(a==1)
        tempstr= "已处理";
      return tempstr;
     }
      

  4.   

    谢谢各位,让我又学到了不少,这个问题是可以解决了,可是新的问题又出现了,因为我是在datagrid中进行此操作,那么必须将列转换成模块列才能进行数据绑定,可是将数据转换成模板列后,   单击列上的标题却不能对该列进行排序了(都根本不能点了)!     我该怎么解决这个后遗症呢?
    (将我原来的sortcommand事件处理代码附下,请各位看看该怎么解决,谢谢:)
    string sCommand=sqldaBill.SelectCommand.CommandText.ToLower();
    sCommand=sCommand.Substring(0,sCommand.IndexOf("order by")-1);
    sCommand+=" order by "+e.SortExpression;
    sqldaBill.SelectCommand.CommandText=sCommand;
    DataBind();
      

  5.   

    <asp:BoundColumn DataFormatString="{0:已处理;已删除;待处理}" DataField="state" />