ASP.NET中数据绑定控件的典型用法
  asp中,gridview是使用的最多的数据绑定控件,但是大部分只是用它来显示数据,很少考虑到用户的操作习惯,可操作性很差,因此本文以访问常用示例数据库northwind为例,介绍在网站设计中gridview的典型用法,使它具有良好的交互性。
关键词 数据绑定控件;典型用法
中图分类号tp392        文献标识码a        文章编号 1674-6708201157-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)在gridviewrowdatabound事件中,设置列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数据20102.
[2]邓淑芬,赵敏祥.asp3.5最佳实践——使用visual c#.电子工业出版社,20091.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。