问题描述
如果我用GridView与数据表绑定,比如第一列和数据表tblUser的fldlevel字段绑定可是我想在第一列输出的值并不是fldlevel的值,要做一个转换,比如fldlevel=admin第一列就输出"管理员"如果fldlevel<>"admin"第一列就输出"普通用户"我知道可以在SQL语句直接写,但是能不能在GridView事件写应该怎么写?
解决方案
解决方案二:
前台GridView这样写<Columns><asp:TemplateFieldHeaderText="用户编号"><ItemTemplate><%#Eval("UserID")%></ItemTemplate></asp:TemplateField><asp:TemplateFieldHeaderText="用户姓名"><ItemTemplate><%#Eval("UserName")%></ItemTemplate><EditItemTemplate><asp:TextBoxID="txtUserName"runat="server"Text='<%#Eval("UserName")%>'Width="100px"></asp:TextBox></EditItemTemplate></asp:TemplateField><asp:TemplateFieldHeaderText="用户密码"><ItemTemplate><%#Eval("UserPassword")%></ItemTemplate><EditItemTemplate><asp:TextBoxID="txtUserPassword"runat="server"Text='<%#Eval("UserPassword")%>'Width="100px"></asp:TextBox></EditItemTemplate></asp:TemplateField><asp:TemplateFieldHeaderText="管理权限"><ItemTemplate><%#DataBinder.Eval(Container.DataItem,"NoAdmin").ToString()=="1"?"<fontcolor=red>是</font>":"否"%></ItemTemplate></asp:TemplateField><asp:CommandFieldShowEditButton="True"/><asp:CommandFieldShowDeleteButton="True"/></Columns>后台这样写protectedvoidPage_Load(objectsender,EventArgse){//创建数据库联接StringMyconnection=System.Configuration.ConfigurationManager.AppSettings["strconnection"];Myconn=newSqlConnection(Myconnection);//创建数据库联接if(!IsPostBack){//调用用户信息加载函数BindGrid();}publicvoidBindGrid(){stringMystrsql="selectUserID,UserPassword,UserName,NoAdminfromUserTable";SqlDataAdapterMyda=newSqlDataAdapter(Mystrsql,Myconn);DataSetMyds=newDataSet();Myda.Fill(Myds);MyGridView1.DataSource=Myds;//数据邦定MyGridView1.DataBind();}其中<ItemTemplate><%#Eval("UserName")%></ItemTemplate>是绑定数据库用的
解决方案三:
可以的,写一个处理函数就行了.如publicstringman(strings){if(s=="admin")return"管理员";elsereturn"普通用户";}<ItemTemplate><%#Eval("UserName")%></ItemTemplate>改为<ItemTemplate><%#man(Eval("UserName"))%></ItemTemplate>就行了.
解决方案四:
很好学习咯
解决方案五:
该回复于2008-05-08 14:44:35被版主删除