我有GridView。
<asp:GridView ID="GridView1" runat="server"
AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="status" HeaderText="status" ItemStyle-Width="100px" > <ItemStyle Width="100px"></ItemStyle>
</asp:BoundField>
</Columns>
</asp:GridView>
在codeBehind
中GridView1.DataSource = DataTable1;
GridView1.DataBind();
在aspx文件中我想写一些c#代码。例如以下内容 如果status == 0则将列值设置为“0”; 如果status == 1,则将列值设置为“1”;
如何更改
<asp:BoundField DataField="status" HeaderText="status" ItemStyle-Width="100px" > <ItemStyle Width="100px"></ItemStyle>
</asp:BoundField>
以上编写的算法有效吗? 谢谢!
答案 0 :(得分:2)
使用templatefields,例如:
<asp:TemplateField HeaderText="Status">
<ItemTemplate>
<%# ReturnText(Eval("Status")) %>
</ItemTemplate>
</asp:TemplateField>
在C#codebehind
中protected string ReturnText(object val)
{
if(val!=null)
{
if(val.ToString().Equals("1")) {return "one"; }
else if(val.ToString().Equals("0")) {return "zero";}
}
return "";
}
另一种选择是从SQL查询中返回文本:
SELECT STATUS,
CASE STATUS WHEN 1 THEN 'One' WHEN 0 THEN 'Zero' END As Status_Text
FROM YourTable
然后,您可以将列status_text绑定到boundfield。