如题
比如我把数据绑顶到DataGrid控件中
比如在性别字段内容是1,但我需要在DataGrid中判断,并显示如果值为1则显示:先生,为0则为女士。
当然可以直接在数据库内存储字符串 "先生"或者是"女士",但这样不能解决我的问题,而且还有别的一些条件在数据库内取出后要在用户界面判断并给出不同的结果,因为是用DataSet填充的数据集,所以我不知如何去写这个表达式,或者是怎么去写
我目前的方法是一个判断就写个函数,然后在数据绑定里去调用<%#Sex(绑定字段)%>,但这样总不能每一个判断都要去写个函数吧?
请高手给予回答,谢谢
分数我不在乎的

解决方案 »

  1.   

    下面的就可以。。
    <%# DataBinder.Eval(Container.DataItem, "sex").ToString()=="1" ? '先生' : '女士'%>
      

  2.   

    也可以在查询语句中判断
    select …… ,case sex when '1' then '先生' else '女士' end as sex,……
      

  3.   

    select Dbms_Lob.substr ( ydts ) as aa from xxfb_articleprivate void DG_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {
    string xb = (string)DataBinder.Eval(e.Item.DataItem,"sex");
    if(xb == "1")
    {
    e.Item.Cells[9].Text = "先生";//在DataGrid中的第几列上
    }
    else if(dzdf == "0")
    {
    e.Item.Cells[9].Text = "女士";
    }
      

  4.   

    打错了,没有第一行
    private void DG_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {
    string xb = (string)DataBinder.Eval(e.Item.DataItem,"sex");
    if(xb == "1")
    {
    e.Item.Cells[9].Text = "先生";//在DataGrid中的第几列上
    }
    else if(dzdf == "0")
    {
    e.Item.Cells[9].Text = "女士";
    }
      

  5.   

    Text='<%# iif(DataBinder.Eval(Container.DataItem, "Sex")=1,"先生","女士") %>'
      

  6.   

    happycat82()你的太复杂了还不如用模版列
    前台
    <% #GetSex(DataBinder.Eval(Container.DataItem, "sex")%>
    后台
    public string GetSex(objec id)
    {
     if (id.tostring()="1")
       return "先生";
     else
       return "女士";
    }
    }
      

  7.   

    sql 语句中用when 实现吧