湛江seo网站推广,wordpress 自动收录,石家庄网站建设加王道下拉,福州网站怎么做seoGridView 是Microsoft DataGrid(VS2003版本)的一个替代品#xff0c;它继承了DataGrid的很多优点#xff0c;同时也继承了它的很多缺点#xff0c;我们在方便使用的同时#xff0c;还是不免会产生一丝遗憾。早在2004年的时候#xff0c;对DataGrid 进行了二次封装(DotNetG… GridView 是Microsoft DataGrid(VS2003版本)的一个替代品它继承了DataGrid的很多优点同时也继承了它的很多缺点我们在方便使用的同时还是不免会产生一丝遗憾。早在2004年的时候对DataGrid 进行了二次封装(DotNetGrid 介绍 )感觉到对我们系统的性能开发效率方面提供了很多的帮助。所以我觉得还是有必要把这些功能升级到GridView 中下面我将一一介绍我的BNGridView提供了哪些方面的功能。 总览 该控件主要包括以下几方面的功能 1、查询复杂查询与简单查询相结合。 2、分页。 3、支持行、列合并。 4、自定义多层表头。 5、支持多条件的合计、汇总。 6、支持行、列固定。 7、支持数据的树状显示。 8、列表数据到导出到Excel文档。 下面我将一一介绍如何使用这些功能 一、查询。 1、简单查询如图。 从如图所示的下拉列表框中选中某一项输入查询关键字“Go”即可查询你要的记录。下拉列表框中的项目默认状态是该GridView 中的列也可以附加一些与该列表相关的列。 2、复杂查询 用户可以定义自已的查询方案以备下次使用。该查询可以任意条件组合非常灵活、方便。其查询条件的定义如下图所示 本查询列表还支持“本人”“本月”“本年”等特定关键。共享查询就更方便灵活了。 二、分页 三、多条件的合计、汇总行列合并. 四、行、列固定。 五、多层表头支持。 六、列表数据树形结构展示。 几点说明 一、数据绑定支持两种方式的数据绑定 1DataBind(DataTable dt)即支持传入DataTable 进行绑定该DataTable将被Cache,页面刷新、翻页、排序等操作将直接从Cache 获取。 2SQL 绑定即传入绑定列表数据的SQL同时指定连接DB的ConnectionString 。控件在获取数据源时将会解析该SQL语句根据每页的记录数当前页码对SQL进行重新组合然后交由DB执行。SQL分页的策略为 Codestring QueryPageCommandText SELECT * FROM (SELECT TOP {0} * FROM (SELECT TOP {1} * FROM ({2}) AS t0 ORDER BY {3} {4}) AS t1 ORDER BY {3} {5}) AS t2 ORDER BY {3} {6} ; strSql string.Format (QueryPageCommandText, this.uCurPageRows , // {0} -- page size this.PageSize *(CurPageIndex), // {1} -- size * index SelectCommand, // {2} -- base query SortField, // {3} -- key field in the query ASC, // Default to ascending order DESC, ASC); 经几年来的实践检验这样的分页效率是相当高的现在我们的业务系统每个表几百数据而且是三、四张表关联查询一点问题都没有值得信赖。 二、导出到Excel 这是一种非种成熟的技术不值得一提。但是最近有用户提出希望能导出 PDF 文档不知道该如何处理还望各位网友不吝赐教。 三、BNGridView 的使用相当方便基本沿用了原始GridView的使用模式只是在传递数据源绑定时有所不同例如 使用范例string strSql; DataTable dt; strSql select ProductID,ProductName,CategoryName,QuantityPerUnit,UnitPrice,UnitsOnOrder,UnitsInStock from Products a inner join dbo.Categories b on a.CategoryID b.CategoryID; dt this.Sqlca.GetDataTable(strSql); this.BNGirdView1.QueryTextField ProductID,ProductName,CategoryName,QuantityPerUnit,UnitPrice,UnitsOnOrder,UnitsInStock; this.BNGirdView1.QueryValueField ProductID,ProductName,CategoryName,QuantityPerUnit,UnitPrice,UnitsOnOrder,UnitsInStock; this.BNGirdView1.SortField CategoryName; this.BNGirdView1.IsAsc false; this.BNGirdView1.PageSize 20; this.BNGirdView1.strXMLPath ~/filterinfo.xml; this.BNGirdView1.ImagePath Resource/Image/; this.BNGirdView1.DataBind(dt); 四、BNGridView 的使用范例及源码我还没有整理出来最近几天将会完成如果哪位网友有参考的必要请留言。 源码下载 BNGridView