日期:2014-05-18  浏览次数:20491 次

GridView里面int型的列显示文字
用Gridview显示的是数字,我现在要把数字型转化成文字显示,比如数字1就显示已完成,0就显示未完成,请问代码怎么处理?

------解决方案--------------------
在数据库里 case when then
------解决方案--------------------
select (case column when '0' then '未完成' when '1' then '已完成' end)as newcolumn from ....
------解决方案--------------------
<%# Eval("Fuck")==1?已完成:为完成%>
------解决方案--------------------
<%# Eval("字段")==1?已完成:为完成%>
------解决方案--------------------
<%# Eval("你数据库的字段").ToString().Equals("0") ? "未完成" : "已完成"%>
------解决方案--------------------
前台:
<asp:GridView ID="GridMenus" DataKeyNames="MenuID" runat="server" 
AutoGenerateColumns="false" onrowdatabound="GridMenus_RowDataBound"> //加上这个事件
<Columns>
<asp:TemplateField HeaderText="是否禁用">
<ItemStyle Width="150px" HorizontalAlign="Center" />
<ItemTemplate><asp:Label ID="lbStatus" runat="server" Text='<%# Eval("IsStatus")%>'></asp:Label></ItemTemplate>
</asp:TemplateField>
</Columns>
 </asp:GridView>
后台:
protected void GridMenus_RowDataBound(object sender, GridViewRowEventArgs e)
{
string sql = "";
if (e.Row.RowType == DataControlRowType.DataRow)
{
Label lbStatus = (Label)e.Row.FindControl("lbStatus");
if (lbStatus.Text.Trim().ToString() != "")
{
if (lbStatus.Text.Trim().ToString() == "0")
lbStatus.Text = "禁用";
else if (lbStatus.Text.Trim().ToString() == "1")
lbStatus.Text = "启用";
}
}
}