请问在DATAGRID里如何替换布尔值啊,显示出来是TRUE,FALSE,当然不友好,有什么办法替换成友好的中文/?

解决方案 »

  1.   

    做成一个CheckBox,TRUE的时候打勾,FALSE的时候空白如何?
      

  2.   

    用模板列处理啊,参考下面的代码
    <asp:TemplateColumn  HeaderText="状态">
    <ItemTemplate> <asp:Label id=l_tag runat="server"
     Text='<%# GetStatus(DataBinder.Eval(Container, "DataItem.tag").ToString()) %>'>
    </asp:Label>
    </ItemTemplate>
    </asp:TemplateColumn>
    后台函数
    protected string GetStatus(string str)
    {
        if(str == "TRUE")
        {
            return "成功";
        }
        else
        {
            return "失败";
        }
    }
      

  3.   

    加一个模板列<asp:TemplateColumn SortExpression="ysnBldgUsageLimit" HeaderText="Limit">
    <HeaderStyle HorizontalAlign="Left" ForeColor="White" Width="80px"></HeaderStyle>
    <ItemTemplate>
    <asp:CheckBox ID="Checkbox1" Enabled="false" Checked='<%# DataBinder.Eval(Container.DataItem,"ysnBldgUsageLimit") %>' runat="server" />
    </ItemTemplate>其中 ysnBldgUsageLimit是数据库中相对应的bit字段
    <FooterTemplate>
    <asp:checkbox id="chkBldgUsageLimitAdd" runat="server" Text=""></asp:checkbox>
    </FooterTemplate>
    <EditItemTemplate>
    <asp:CheckBox ID="ysnBldgUsageLimit" Checked='<%# DataBinder.Eval(Container.DataItem,"ysnBldgUsageLimit") %>' runat="server" />
    </EditItemTemplate>
    </asp:TemplateColumn>
      

  4.   

    stoneallen() ( ) 信誉:100 
    是对的、一般处理datagrid显示和绑定的不同、使用函数来加工
      

  5.   

    stoneallen() ( ) 信誉:100 <--他的比较通用
    但是对于你的这个问题,也可以这样
    <asp:TemplateColumn  HeaderText="状态">
    <ItemTemplate> <asp:Label id=l_tag runat="server"
     Text='<%# Convert.ToBoolean(DataBinder.Eval(Container, "DataItem.tag"))?"选择":"未选") %>'>
    </asp:Label>
    </ItemTemplate>
    </asp:TemplateColumn>
      

  6.   

    讲得非常完美!但不知道按stoneallen所讲的,老是返回FALSE的结果,也就是说那个方法的问题
      

  7.   

    问题已完满解决,我将把学到的知识无私地公开给有需要的人,感谢CSDN,感谢大家,感谢党, 中国的IT业有希望了
      

  8.   

    用这个select case when 字段名=false then '好' else '不好' end from 表名
      

  9.   

    那可能是if(str == "TRUE")的问题,因为要区分大小写的,你试下if(str == "True")
      

  10.   

    <ItemTemplate>
         <asp:CheckBox id=ckbqf runat="server" BorderStyle="None" Enabled="False" Checked='<%# (Convert.ToInt32((DataBinder.Eval(Container, "DataItem.qfbj")))==0)?false:true %>'></asp:CheckBox>
    </ItemTemplate>
      

  11.   

    回复人: sasagun(洒洒滚) ( ) 信誉:100  2005-08-15 09:32:00  得分: 0  
     
     
       问题已完满解决,我将把学到的知识无私地公开给有需要的人,感谢CSDN,感谢大家,感谢党, 中国的IT业有希望了
     
     
    呵呵,做人要说到做到,说了做不到还不如不说
      

  12.   

    回复人: sasagun(洒洒滚) ( ) 信誉:100  2005-08-15 09:32:00  得分: 0  
      
       问题已完满解决,我将把学到的知识无私地公开给有需要的人,感谢CSDN,感谢大家,感谢党, 中国的IT业有希望了
     
     说到做到,说了做不到不如不说
      

  13.   

    回复人: sasagun(洒洒滚) ( ) 信誉:100  2005-08-15 09:32:00  得分: 0  
     
       问题已完满解决,我将把学到的知识无私地公开给有需要的人,感谢CSDN,感谢大家,感谢党, 中国的IT业有希望了
     
    说到要做到,做不到不如不说