《ASP.NET1200例》高亮显示ListView中的数据行并自动切换图片
aspx
<script type="text/javascript">
var oldColor;
function SetNewColor(Source) {
oldColor = Source.style.backgroudColor;
Source.style.backgroudColor = "#FFCCFF";
}
function SetOldColor(Source) {
Source.style.backgroudColor = oldColor;
}
function ShowPhoto(url) {
document.getElementById("Image1").src= url;
} </script>
<body>
<form id="form1" runat="server">
<div>
<asp:ListView ID="ListView1" runat="server"
onitemdatabound="ListView1_ItemDataBound">
<ItemTemplate>
<table id="myTable" border="" cellpadding="" cellspacing="" runat="server" onmouseover='this.style.backgroundColor="#ff0000"'>
<tr >
<td>
图片ID:
<asp:Label ID="Label1" runat="server" Text=""><%#Eval("id")%></asp:Label>
图片名称: <asp:TextBox ID="txtimageName" runat="server" Text='<%#Eval("imageName")%>'></asp:TextBox>
图片路径: <asp:TextBox ID="txtimageUrl" runat="server" Text='<%#Eval("imageUrl")%>'></asp:TextBox>
</td>
</tr>
</table>
</ItemTemplate>
</asp:ListView> <asp:Image ID="Image1" runat="server" /> <asp:DataPager ID="DataPager1" PagedControlID="ListView1" runat="server">
</asp:DataPager>
</div>
</form>
</body>
aspx.cs
ShowImageBll ShowImageBll = new BLL.ShowImageBll();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
bindDL(); }
}
public void bindDL()
{
//绑定数据源
DataSet ds = ShowImageBll.GetList();
ListView1.DataSource = ds;
ListView1.DataBind(); }
protected void ListView1_ItemDataBound(object sender, ListViewItemEventArgs e)
{
if (e.Item.ItemType == ListViewItemType.DataItem) //判断目前的项目是否为一个数据项目
{
ListViewDataItem curDataItem = (ListViewDataItem)e.Item; //把目前的项目转化为一个ListViewDataItem
DataRowView curRow = (DataRowView)curDataItem.DataItem;//把获取的行转化为DataRowView对象
int id = int.Parse(curRow["id"].ToString());
String imageUrl = ShowImageBll.getImageUrlByID(id);
HtmlTable myTable = (HtmlTable)curDataItem.FindControl("myTable");//获取ItemTemplate模板中的Table控件
myTable.Attributes.Add("onMouseOver", "SetNewColor(this);ShowPhoto('"+imageUrl+"');");
myTable.Attributes.Add("onMouseOut", "SetOldColor(this);ShowPhoto('image/20131129.jpg');");
}
}
总结:
【1】前段HTML的Table控件 定义: <table id="myTable" border="1" cellpadding="5" cellspacing="0" runat="server">
后端获取时:HtmlTable myTable = (HtmlTable)curDataItem.FindControl("myTable");//获取ItemTemplate模板中的Table控件
(此时需要添加引用using System.Web.UI.HtmlControls;)
【2】ListViewDataItem curDataItem = (ListViewDataItem)e.Item; //把目前的项目转化为一个ListViewDataItem
DataRowView curRow = (DataRowView)curDataItem.DataItem;//把获取的ListViewItem对象所绑定的数据转化为DataRowView对象
【3】遗留的问题:背景颜色的切换不起作用。函数SetNewColor(this)或者设置在aspx页面内嵌javascript也不起作用
《ASP.NET1200例》高亮显示ListView中的数据行并自动切换图片的更多相关文章
- 《ASP.NET1200例》ListView 控件与DataPager控件的结合<一>
分页 在前一部分开始时介绍的原 HTML 设计中内含分页和排序,所以根据规范完整实现该网格的任务尚未完成.我们先分页,然后再排序. ListView 控件中的分页通过引入另一个新控件 Data ...
- 《ASP.NET1200例》ListView控件之修改,删除与添加
aspx <body> <form id="form1" runat="server"> <div> <asp:Lis ...
- 《ASP.NET1200例》ListView 控件与DataPager控件的结合<二>
ASP.NET使用ListView数据绑定控件和DataPager实现数据分页显示 为什么使用ListView+DataPager的方式实现分页显示? .net提供的诸多数据绑定控件,每一种都有它自己 ...
- C#中清空ListView中的数据
我的显示数据的方式通过button按钮点击事件,当点击之后查询数据库库并将数据显示出来. 代码如下: private void button6_Click(object sender, EventAr ...
- c#导出ListView中的数据到Excel表格
1.添加组件:Microsoft.Office.Interop.Excel 步骤:右键点击“引用”--->添加引用--->COM--->Microsoft.Office.Intero ...
- 触发器修改后保存之前的数据 表中插入数据时ID自动增长
create or replace trigger t before update on test5 for each rowbegin insert into test55 values (:old ...
- 第18课-数据库开发及ado.net 连接数据库.增.删.改向表中插入数据并且返回自动编号.SQLDataReade读取数据
第18课-数据库开发及ado.net 连接数据库.增.删.改向表中插入数据并且返回自动编号.SQLDataReade读取数据 ADO.NET 为什么要学习? 我们要搭建一个平台(Web/Winform ...
- 【转载】C#中遍历DataTable中的数据行
在C#中的Datatable数据变量的操作过程中,有时候我们需要遍历DataTable变量获取每一行的数据值,例如将DataTable变量转换为List集合的时候,我们就会遍历DataTable变量, ...
- Android中仿淘宝首页顶部滚动自定义HorizontalScrollView定时水平自动切换图片
Android中仿淘宝首页顶部滚动自定义HorizontalScrollView定时水平自动切换图片 自定义ADPager 自定义水平滚动的ScrollView效仿ViewPager 当遇到要在Vie ...
随机推荐
- Ibatis的类型处理器TypeHandler解析
Ibatis允许用户像在hibernate中一样定义自己的类型,但是,用户自定义类型需要与数据库中的字段类型进行对应.它的处理方法是允许我们扩展TypeHandler.Ibatis框架在处理该数据类型 ...
- Qt学习思考
对各个部件基本了解,初步理解GUI应用程序的创建 2D图形文字绘制,3D图形(openGL)等 模型/视图框架编程,处理复杂的数据 多媒体框架 数据库,xml,文件读写等 网络编程 做出比较美观的界面 ...
- WordPress 插件机制的简单用法和原理(Hook 钩子)
WordPress 的插件机制实际上只的就是这个 Hook 了,它中文被翻译成钩子,允许你参与 WordPress 核心的运行,是一个非常棒的东西,下面我们来详细了解一下它. PS:本文只是简单的总结 ...
- 【bzoj1050】 旅行comf
http://www.lydsy.com/JudgeOnline/problem.php?id=1050 (题目链接) 题意 给出一个无向图,求图中两点间某条路径使得最大权值除以最小权值的值最小 So ...
- 利用symbolsource/gitlink调试你的nuget包
关键字: 如何调试Nuget下载的dll? VS github 调试 参考文章: http://docs.nuget.org/create/creating-and-publishing-a-sy ...
- Xcode的一些有用的插件
** --Alcatraz:Xcode插件管理 ** 安装:curl -fsSL https://raw.github.com/supermarin/Alcatraz/master/Scripts/ ...
- 修改myeclipse 新建JSP文件时的默认模板
MyEclipse中构造新的jsp模板(原创) 首先随便打开一个jsp页,在网页中单击右键选择:preferences 打开后如图所示,找到jsp template选项. 选择new,在弹出的提示框, ...
- Python初学笔记
一.安装:直接通过软件管理程序,搜索Python,安装:安装过程中自定义路径,有个选项类似“add Python3.5 to Path”,勾选后便可以在cmd命令窗口,通过输入Python,启动Pyt ...
- 在xib里,拖一个UIView到UITableView中作为tableHeaderView
原贴地址:http://blog.csdn.net/haoxinqingb/article/details/41683881 内容 在xib里,拖一个UIView到UITableView中作为tabl ...
- WPF 操作键盘
#region 打开键盘的键 const uint KEYEVENTF_EXTENDEDKEY = 0x1; const uint KEYEVENTF_KEYUP = 0x2; [DllImport( ...