+ -
当前位置:首页 → 问答吧 → gridview绑定列中字符如何转换

gridview绑定列中字符如何转换

时间:2011-12-20

来源:互联网

我现在数据库中有一字段。为int型,分别用1-5表示
审核 1为通过,2为待审,3为完成,4为超时,5为放弃

我绑定后要怎么样才能让它显示为文本!!!

作者: boy138238   发布时间: 2011-12-20

方法很多
一个方法
<%# GetName(Eval("字段名称"))%>

后台写
String[] name = {"通过","待审","完成","超时","放弃"};
public String GetName(String x)
{
return name[Convert.ToInt32(x)-1];
}

作者: net_lover   发布时间: 2011-12-20

当然在绑定事件了替换也是可以的

作者: net_lover   发布时间: 2011-12-20

2楼的可不可以说详细一点哦

作者: boy138238   发布时间: 2011-12-20

给你提供2种方法
<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  protected void Page_Load(object sender, EventArgs e)
  {
  if (!Page.IsPostBack)
  {
  System.Data.DataTable dataTable1 = new System.Data.DataTable("BlogUser");
  System.Data.DataRow dr;
  dataTable1.Columns.Add(new System.Data.DataColumn("UserId", typeof(System.Int32)));
  dataTable1.Columns.Add(new System.Data.DataColumn("UserName", typeof(System.String)));

  for (int i = 1; i < 20; i++)
  {
  dr = dataTable1.NewRow();
  dr[0] = i;
  dr[1] = "【孟子E章】" + i.ToString();
  dataTable1.Rows.Add(dr);
  }
  GridView1.DataSource = dataTable1;
  GridView1.DataBind();
  }
  }

  String[] name = { "通过", "待审", "完成", "超时", "放弃" };
  public String GetName(String x)
  {
  int id = Convert.ToInt32(x);
  if (id < 1 || id > 5) return "无效";
  return name[id - 1];
  }

  protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
  {
  if (e.Row.RowType == DataControlRowType.DataRow)
  {
  int id = Convert.ToInt32(DataBinder.Eval(e.Row.DataItem, "UserId"));
  if (id < 1 || id > 5) e.Row.Cells[0].Text = "无效";
  else
  e.Row.Cells[0].Text = name[id - 1];

  }
  }
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
  <title></title>
</head>
<body>
  <form id="formd1" runat="server">
  <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" DataKeyNames="UserId"
  OnRowDataBound="GridView1_RowDataBound">
  <Columns>
  <asp:BoundField DataField="UserId" HeaderText="方法1" />
  <asp:TemplateField HeaderText="方法2">
  <ItemTemplate>
  <%# GetName(Eval("UserId").ToString())%>
  </ItemTemplate>
  </asp:TemplateField>
  </Columns>
  </asp:GridView>
  </form>
</body>
</html>

作者: net_lover   发布时间: 2011-12-20