我数据库里有一个News表,里面有一个state字段,是int型的,有1和0两种取值。现在我用GridView来绑定这个表,想让所有取1值的这个字段的列都显示为“发布”,所有取0值的列都显示为“未发布”,应该如何做?

解决方案 »

  1.   

    在取数据源时,可以在视图中把State字段改成 case State when 1 then "发布" else "未发布" end  
      

  2.   

    在查询的时候做一个转换,就像oracle中的Decode;
    可以用case
      

  3.   

    那如果我是用sqldatasource绑定的,怎么将State字段改成 case State when 1 then "发布" else "未发布" end  ???
    这个好像有点问题
      

  4.   

    Create table News(
      ID int ,
      State int,
      name varchar(20)
    )insert into News values(001,1,'A')
    insert into News values(002,0,'B')
    insert into News values(003,1,'C')
    insert into News values(004,0,'D')Create view ViewNews
    as 
    Select ID,
    (case State when 1 then '发布' else '未发布' end)as State,
    name
    from Newsselect *from ViewNews
      

  5.   

    protected void WorkGuideGridView_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            Label SetTopLabel = e.Row.FindControl("SetTopLabel") as Label;
            Label SetTopLabelText = e.Row.FindControl("SetTopLabelText") as Label;
            Label Check = e.Row.FindControl("CheckLabel") as Label;
            if (Check != null)
            {
                if (Check.Text == "2")
                {
                    Check.Text = "未通过审核!";
                }
                else if (Check.Text == "1")
                {
                    Check.Text = "通过审核!";
                }
            }
            if (SetTopLabel != null)
            {
                if (SetTopLabel.Text == "1")
                {
                    SetTopLabelText.Text = "置顶";
                }
                else
                {
                    SetTopLabelText.Text = "普通";
                }
            }
        }
      

  6.   

     
    if (SetTopLabel != null)
            {
                if (SetTopLabel.Text == "1")
                {
                    SetTopLabelText.Text = "置顶";
                }
                else
                {
                    SetTopLabelText.Text = "普通";//在SetTopLabelText上绑上你的数据。
                }
            }