源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

repeater、gridview 在绑定时判断判断显示不同的行样式或文本

  • 时间:2020-07-02 03:14 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:repeater、gridview 在绑定时判断判断显示不同的行样式或文本
[b]一:repeater或DataList控件[/b] 1.更改纯文本内容等 如果数据库里学生信息表中的sex字段用0和1来表示男女 但我们想repeat控件绑定后性别显示男或女而不是显示0或1 方法一:当然我们可以在SQL语句里判断并且转换 select (case sex when 0 then '男' else '女' end) AS sex from studentInfo 方法二:就是用到repeat 控件ItemDataBound()事件 前台
[u]复制代码[/u] 代码如下:
<asp:Repearter ID="Repeater1" runat="server" onitemdatabound="Repeater1_ItemDataBound"> <ItemTemplate> <tr> <td> <input type="checkbox"> </td> <td style="text-align: center"> <%#Eval("studentId") %> </td> <td style="text-align: center"> <asp:Label Id="lblSex" runat="server" Text=""> </td> </tr> </ItemTemplate> </asp:Repeater> protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e) {    DataRowView drv = (DataRowView)e.Item.DataItem; if (drv["sex"].ToString()=="0") { ((Label)e.Item.FindControl("lblSex")).Text = "男"; } else ((Label)e.Item.FindControl("lblSex")).Text = "女"; }
[b]2.根据要生成的行条件而显示不同的样式(CSS) [/b]比如要显示男的那一行为一个样式,生成女的那一行又是一个样式 即 (如果是repeater控件的话) ((Label)e.Item.FindControl("lblSex")).CssClass= "style_male"; 当然还可以设置提示语等((Label)e.Item.FindControl("lblSex")).ToolTip="我是男的" 如果是DataList控件的话还可以直接设置那一行的样式
[u]复制代码[/u] 代码如下:
private void assets_ItenDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e) { DataRowView drv=(DataRowView)e.Item.DataItem; string m=(string)drv["ID"]; int i=_userMenuBll.AssetsCss(m); switch(i) { case 0:e.Item.CssClass="nomal";break; case 1:e.Item.CssClass="red";break; case 2:e.Item.CssClass="purple";break; case 3:e.Item.CssClass="yellow";break; case 4:e.Item.CssClass="blue";break; case 5:e.Item.CssClass="green";break; } }
如果是GridView控件的话则用 GridView1_RowDataBound 设置e.Row.CssClass 当然也能用e.Row.FindControl方法
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部