当前位置:编程学习 > C#/ASP.NET >>

GridView 与数据绑定问题

如果我用GridView与数据表绑定,比如第一列和数据表tblUser的fldlevel 字段绑定
可是我想在第一列输出的值并不是fldlevel的值,要做一个转换,比如fldlevel=admin 第一列就输出"管理员"

如果fldlevel<>"admin" 第一列就输出"普通用户"
我知道可以在SQL语句直接写,但是能不能在GridView事件写
应该怎么写? --------------------编程问答-------------------- 前台GridView这样写
 <Columns>
<asp:TemplateField HeaderText="用户编号">
<ItemTemplate><%#Eval("UserID")%></ItemTemplate>
</asp:TemplateField>
                                    
<asp:TemplateField HeaderText="用户姓名">
<ItemTemplate><%#Eval("UserName")%></ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtUserName" runat="server" Text='<%#Eval("UserName")%>' Width="100px"></asp:TextBox></EditItemTemplate>
</asp:TemplateField>
                                    
<asp:TemplateField HeaderText="用户密码">
<ItemTemplate><%#Eval("UserPassword")%></ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtUserPassword" runat="server" Text='<%#Eval("UserPassword")%>' Width="100px"></asp:TextBox></EditItemTemplate>
</asp:TemplateField> 
                                                                      
<asp:TemplateField HeaderText="管理权限">                                    
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem,"NoAdmin").ToString()=="1"?"<font color=red>是</font>":"否" %>
</ItemTemplate>
</asp:TemplateField>

<asp:CommandField ShowEditButton="True" />
<asp:CommandField ShowDeleteButton="True"/>                                     
                                                                       
</Columns>
后台这样写
 protected void Page_Load(object sender, EventArgs e)
        {
 //创建数据库联接
       String Myconnection = System.Configuration.ConfigurationManager.AppSettings["strconnection"];
Myconn = new SqlConnection(Myconnection);
 //创建数据库联接               
if (!IsPostBack)
{
  //调用用户信息加载函数                    
BindGrid();                    
}
public void BindGrid()
{
 string Mystrsql = "select UserID,UserPassword,UserName,NoAdmin from UserTable";
 SqlDataAdapter Myda = new SqlDataAdapter(Mystrsql, Myconn);
 DataSet Myds = new DataSet();
 Myda.Fill(Myds);
 MyGridView1.DataSource = Myds;

 //数据邦定
 MyGridView1.DataBind();

 }
其中<ItemTemplate><%#Eval("UserName")%></ItemTemplate>是绑定数据库用的 --------------------编程问答-------------------- 可以的,写一个处理函数就行了.
如public string man(string s)
{
       if (s=="admin")
          return "管理员";
        else
           return "普通用户";
}
<ItemTemplate> <%#Eval("UserName")%> </ItemTemplate>改为
<ItemTemplate> <%#man(Eval("UserName"))%> </ItemTemplate>就行了. --------------------编程问答-------------------- 很好学习咯 --------------------编程问答--------------------
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,