在取数据源时,可以在视图中把State字段改成 case State when 1 then "发布" else "未发布" end
在查询的时候做一个转换,就像oracle中的Decode; 可以用case
那如果我是用sqldatasource绑定的,怎么将State字段改成 case State when 1 then "发布" else "未发布" end ??? 这个好像有点问题
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
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 = "普通"; } } }
可以用case
这个好像有点问题
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
{
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 = "普通";
}
}
}
if (SetTopLabel != null)
{
if (SetTopLabel.Text == "1")
{
SetTopLabelText.Text = "置顶";
}
else
{
SetTopLabelText.Text = "普通";//在SetTopLabelText上绑上你的数据。
}
}