repeater、gridview 在绑定时判断判断显示不同的行样式或文本
更新时间:2011年09月09日 10:21:21 作者:
repeater、gridview 在绑定时判断判断显示不同的行样式或文本的实现代码,需要的朋友可以参考下。
一:repeater或DataList控件
1.更改纯文本内容等 如果数据库里学生信息表中的sex字段用0和1来表示男女 但我们想repeat控件绑定后性别显示男或女而不是显示0或1
方法一:当然我们可以在SQL语句里判断并且转换
select (case sex when 0 then '男' else '女' end) AS sex from studentInfo
方法二:就是用到repeat 控件ItemDataBound()事件
前台
<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 = "女";
}
2.根据要生成的行条件而显示不同的样式(CSS)
比如要显示男的那一行为一个样式,生成女的那一行又是一个样式 即 (如果是repeater控件的话)
((Label)e.Item.FindControl("lblSex")).CssClass= "style_male";
当然还可以设置提示语等((Label)e.Item.FindControl("lblSex")).ToolTip="我是男的"
如果是DataList控件的话还可以直接设置那一行的样式
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方法
1.更改纯文本内容等 如果数据库里学生信息表中的sex字段用0和1来表示男女 但我们想repeat控件绑定后性别显示男或女而不是显示0或1
方法一:当然我们可以在SQL语句里判断并且转换
select (case sex when 0 then '男' else '女' end) AS sex from studentInfo
方法二:就是用到repeat 控件ItemDataBound()事件
前台
复制代码 代码如下:
<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 = "女";
}
2.根据要生成的行条件而显示不同的样式(CSS)
比如要显示男的那一行为一个样式,生成女的那一行又是一个样式 即 (如果是repeater控件的话)
((Label)e.Item.FindControl("lblSex")).CssClass= "style_male";
当然还可以设置提示语等((Label)e.Item.FindControl("lblSex")).ToolTip="我是男的"
如果是DataList控件的话还可以直接设置那一行的样式
复制代码 代码如下:
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方法
您可能感兴趣的文章:
- datalist,Repeater和Gridview的区别分析
- asp.net中让Repeater和GridView支持DataPager分页
- ASP.NET MVC4之js css文件合并功能(3)
- Asp.net程序优化js、css实现合并与压缩的方法
- Asp.net_Table控件の单元格纵向合并示例
- ASP.NET GridView 实现课程表显示(动态合并单元格)实现步骤
- asp.net中GridView和DataGrid相同列合并实现代码
- asp.net中rdlc 合并行的方法
- asp.net 合并GridView中某列相同信息的行(单元格)
- ASP.NET中GridView和Repeater重复数据如何合并
相关文章
ASP.NET Core框架探索之Authentication的权限认证过程解析
这篇文章主要介绍了ASP.NET Core框架探索之Authentication的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2022-03-03asp.net使用JS+form表单Post和Get方式提交数据
今天小编就为大家分享一篇关于asp.net使用JS+form表单Post和Get方式提交数据,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧2019-01-01ASP.NET MVC5网站开发我的咨询列表及添加咨询(十二)
这篇文章主要为大家详细介绍了ASP.NET MVC5网站开发我的咨询列表及添加咨询,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2015-09-09.NET Core应用类型(Portable apps & Self-contained apps)
这篇文章主要介绍了.NET Core应用类型,通常类型用来描述一个特定的执行模型或者基于此的应用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-04-04
最新评论