GridView论文数据绑定论文.doc_第1页
GridView论文数据绑定论文.doc_第2页
GridView论文数据绑定论文.doc_第3页
GridView论文数据绑定论文.doc_第4页
GridView论文数据绑定论文.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

GridView论文数据绑定论文摘要:gridview控件是开发web应用时最常用的控件,其强大的数据绑定功能和页面显示功能给开发带来很大的效率。由于其输出显示还不尽人意,必须通过自设计才能满足实际要求,该文进行自设给出了显示输出的方法。关键词:gridview;数据绑定;事件gridview控件的数据绑定和页面显示可以通过简单的代码实现,大大提高了开发效率。然而,美中不足的就是在使用分页时,其自带的页码导航不尽人意以及当绑定的数据不满一页,那么gridview 仅显示绑定的数据,gridview的显示区域随着绑定的数据条数的变化而变化,页面显示较为杂乱。为了解决这两个问题,我们进行了有关优化设计,在页码导航中采用了c/s模式的方式,在不满一页时增加空行。在实际应用中取得了良好的效果。1 页码导航设计与 rowcreated 事件通过gridview 控件增加pagertemplate项,来自设计页码导航。为了能将自设计的页码导航与数据绑定相一致,必须通过gridview 控件的rowcreated 事件进行处理。因为在呈现 gridview 控件之前,系统必须先为该控件中的每一行创建一个 gridviewrow 对象。在创建 gridview 控件中的每一行时,将引发 rowcreated 事件。呈现 gridview 控件之前,该控件中的每一行必须绑定到数据源中的一条记录。由此,通过引发rowcreated 事件,对gridview 控件所绑定的记录数据进行处理,进行页码导航。2 不满页填补设计与rowdatabound 事件由于gridview 中pagesize属性设定的页显示记录数不总是满页,可能造成最后页显示的杂乱感,为此能在最后页填补空行达到满页,就能解决这个问题。因为将某个数据行(用 gridviewrow 对象表示)绑定到 gridview 控件中的数据以后,将引发 rowdatabound 事件。这使可以提供一个处理方法,当页码导航到最后一页时,判断其是否满页,不满页时,进行空行填补。3 具体实现代码3.1 前台gridview 控件设计代码共 页转到第页3.2 后台onrowcreated事件和gridview1_blank事件设计代码sub onrowcreated(byval sender as object, byval e as gridviewroweventargs)dim ddlpagenumbers as dropdownlistdim lbtngofirst as linkbuttondim lbtngoprev as linkbuttondim lbtngonext as linkbuttondim lbtngolast as linkbuttonif (e.row.rowtype = datacontrolrowtype.pager) thenddlpagenumbers = e.row.findcontrol(ddlpagenumbers)if (ddlpagenumbers isnot nothing) then initpagenumbers(ddlpagenumbers)addhandler ddlpagenumbers.selectedindexchanged, addressof onselectedpageindexchangedend iflbtngofirst = e.row.findcontrol(lbtngofirst)lbtngoprev = e.row.findcontrol(lbtngoprev)lbtngonext = e.row.findcontrol(lbtngonext)lbtngolast = e.row.findcontrol(lbtngolast)dim currentpageindex as integerdim pagecount as integercurrentpageindex = gridview1.pageindexpagecount = gridview1.pagecountddlpagenumbers.enabled = pagecount 1if (lbtngofirst isnot nothing) thenlbtngofirst.enabled = pagecount 1 and currentpageindex 0end ifif (lbtngoprev isnot nothing) thenlbtngoprev.enabled = pagecount 1 and currentpageindex 0end ifif (lbtngonext isnot nothing) thenlbtngonext.enabled = pagecount 1 and currentpageindex 1 and currentpageindex pagecount - 1end ifdim labelpagecount as labellabelpagecount = e.row.findcontrol(labelpagecount)if (labelpagecount isnot nothing) thenlabelpagecount.text = gridview1.pagecount.tostring()end ifend ifend subprotected sub gridview1_blank(byval sender as object, byval e as gridviewroweventargs)if (e.row.rowtype = datacontrolrowtype.footer) thendim newrow as gridviewrowdim numcount, numblank, colsnum, i, j, totalrowcount as integerdim cell as tablecellnumcount = gridview1.rows.counttotalrowcount = gridview1.pagesizeif (numcount totalrowcount) thennumblank = totalrowcount - numcount + 1colsnum = gridview1.rows(0).cells.countfor i = 1 to numblanknewrow = new gridviewrow(-1, -1, datacontrolrowtype.emptydatarow, datacontrolrowstate.normal)for j = 0 to colsnumcell = new tablecell()cell.text = newrow.cells.add(cell)nextgridview1.controls(0).controls.addat(numcount + 1 + i, newrow)nextend ifend ifend sub4 运行测试效果本设计在我校课程核算系统开发中使用,本例是通过上传excel表到数据库库中通过gridview显示输出,如图1示。5 结束语通过本范例,可以看出通过自设计可以很好地发挥gridview功能,并获得实际应用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论