在取数据时:
select column1,column2,column3,case when column2=true then '正常' else '失效' end as tmp from table1

解决方案 »

  1.   

    或者:
    foreach(DataRow row in ds.Tables["table1"].Rows)
    {
        if(row["column2"].ToString()=="True")
           DataGrid.Items[row.Index].Cells[2].Text="正常";
        else
           DataGrid.Items[row.Index].Cells[2].Text="失效";
    }
      

  2.   

    还有一种方法是在itemdatabound事件中:
    public void MyDataGrid_OnItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {
    if(e.Item.Cells[5].Text=="true"){
    e.Item.Cells[5].Text="正常";
    }
    else{
    e.Item.Cells[5].Text="失效";
    }
      

  3.   

    <asp:TemplateColumn HeaderText="有效性">
                       <ItemTemplate>
       <asp:Label Text=<%# bool(DataBinder.Eval(Container.DataItem, "SomeField"))?"正常":"失效" %>     
     </ItemTemplate>
                  </asp:TemplateColumn>