ASP.NET中数据绑定控件的典型用法
摘 要 在asp中,gridview是使用的最多的数据绑定控件,但是大部分只是用它来显示数据,很少考虑到用户的操作习惯,可操作性很差,因此本文以访问常用示例数据库northwind为例,介绍在网站设计中gridview的典型用法,使它具有良好的交互性。
关键词 数据绑定控件;典型用法
中图分类号tp392 文献标识码a 文章编号 1674-6708(2011)57-0181-01
在asp中,gridview是使用的最多的数据绑定控件,但是大部分只是用它来显示数据,很少考虑到用户的操作习惯,可操作性很差,因此本文以访问常用示例数据库northwind为例,介绍在网站设计中gridview的典型用法,使它具有良好的交互性。
1通过pageindexchanging事件实现对gridview控件的分页
1)当gridview控件读取大量的数据时,数据记录往往无法在当个页面中完全呈现,这时需要对gridview控件进行分页,asp中的gridview有一个内置的分页功能,可支持基本的分页,用户可以对gridview进行默认分页或创建自定义的分页;
2)创建一个网站,默认主页为default.aspx,在default.aspx文件中添加一个gridview控件,并将allowpaging属性设置为true;
3)在default.aspx.cs文件中引入命名空间system.data.sqlclient;
在page_load事件中实现gridview显示数据,在pageindexchanging事件中实现分页功能,代码如下:
public partial class _default : system.web.ui.page
{
protected void page_load(object sender, eventargs e){ if (!ispostback) bind(); }
void bind(){
sqlconnection conn = new sqlconnection( tionstrings[“northwindconnectionstring”].connectionstring);
sqldataadapter da = new sqldataadapter(“select * from customers”, conn);
dataset ds = new dataset();
conn.open();
da.fill(ds, “table1”);
gridview1.datasource = ds.tables[“table1”];
gridview1.databind();
conn.close();
}
protected void gridview1_pageindexchanging(object sender, gridviewpageeventargs e) { gridview1.pageindex = e.newpageindex; bind(); }
}
2 在gridview控件中实现自动编号及定制gridview控件外观
1)当页面比较多时,往往需要在gridview中增加一列自动递增序号列,用来标识每一行的序号。在步骤1的基础上继续完善gridview的功能。
选中gridview右上角的智能标记点击“添加新列”,添加一个模板数据绑定列templatefield,并在itemtemplate模板中添加一个label控件用于显示编号序列。代码如下:
2)在gridview的rowdatabound事件中,设置列label的编号值。有时需要对gridview控件设置特殊效果,例如,使gridview控件中的数据行背景颜随着鼠标的移动而改变颜。代码及效果如下:
protected void gridview1_rowdatabound(object sender, gridviewroweventargs e) {
if (wtype == datacontrolrowtype.datarow) {
label lbl = (w.cells[0].findcontrol(“label1”);
= (gridview1.pageindex * gridview1.pagesize + windex + 1).tostring();
//当鼠标停留时更改gridview背景
e.row.attributes.add(“onmouseover”, “color=this.style.backgroundcolor;this.style.backgroundcolor=‘#ffff99’”);
//当鼠标移开时还原griview背景
e.row.attributes.add(“onmouseout”, “this.style.backgroundcolor=color”);
}
}
当鼠标悬停在某一行时,效果如下图,交互性更好。
参考文献
[1]孟庆昌.asp网站开发先锋.机械工业出版社,asp数据2010,2.
[2]邓淑芬,赵敏祥.asp3.5最佳实践——使用visual c#.电子工业出版社,2009,1.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论