日期:2014-05-19  浏览次数:20332 次

一个超级简单的gridview的问题,速战速决
我想在   gridview显示数据的时候判断一下,假设第   2   列的数据是   0   则显示   男,是1   显示女   ,否则显示未知。
就这么简单。可是我不会。哈哈

------解决方案--------------------
Eval( "列 ").ToString()== "0 "? "男 ": "女 "
用模板列
------解决方案--------------------
模版列里放一个Label什么的,然后在代码里写:
foreach (System.Web.UI.WebControls.GridViewRow gr in GridView1.Rows)
{
Label Title = (Label)gr.FindControl( "TitleLabel ");
if (Title.Text == "1 ")
{
Title.Text = "男 ";
}
if (Title.Text == "1 ")
{
Title.Text = "男 ";
}
else
{
NImage.Text = "无 ";
}
}
------解决方案--------------------
<asp:TemplateField HeaderText= "性别 ">
<ItemTemplate>
<%#sex((DataBinder.Eval(Container.DataItem, "sex ")).ToString())%>
</ItemTemplate>
</asp:TemplateField>

public string sex(string str)
{
string str1=string.empty;
switch (str)
{
case "0 ": str1= "男 "; break;
case "1 ": str1= "女 "; break;
case "2 ": str1= "未知 "; break;
}
return str1;
}
------解决方案--------------------
上面写错了!
foreach (System.Web.UI.WebControls.GridViewRow gr in GridView1.Rows)
{
Label Title = (Label)gr.FindControl( "Label ");
if (Title.Text == "1 ")
{
Title.Text = "男 ";
}
if (Title.Text == "0 ")
{
Title.Text = "女 ";
}
if (Title.Text != "0 " && Title.Text != "1 ")
{
Titel.Text = "未知 ";
}
}

------解决方案--------------------
我说我自己1楼写错了,和2楼没关系阿....
------解决方案--------------------
学习了
------解决方案--------------------
public string mVol(string mStr)
{
string mText= " ";
if(mStr.ToString().Trim()== "0 ")
{
mText= "男 ";
}
elseif(mStr.ToString().Trim()== "1 ")
{
mText= "女 ";
}
else
{
mText= "未知 "
}
return mText;
}

在GridView里的模班列里这样用
<%#mVol(Eval( "字段名 ").ToString())%>

------解决方案--------------------
還不如改sql呢 case col when 0 then '男 ' when 1 then '女 ' else '不知 ' end