三层架构下GridView显示大数据量时速慢的解决方案

技术与应用三层架构下GridView显示大数据量时速度慢的解决方张映东蒋晨琛(三门峡职业技术学院信息工程系,河南三门峡472000)摘要:在MicrosoftVisualStudio2010开发环境中,DridView控件没有分页功能,在显示大数据量时速度较慢。笔者提供了一种切实可行的解决方案,便于软件开发人员应用到软件项目中。关键词:三层架构;DridView控件;数据;速度;解决方案:TP393收稿日期:2012-10-16文献标识码:B:1671-9123(2012)04-0106-04作者简介:张映东(1972-),男,河南封邱人,三门峡职业技术学院信息工程系讲师。DridView是开发WinForm应用程序常用的数据控件之一,通常用来显示数据,但是当数据量较大时,DridView显示速度就很慢。本文以笔者开发的某派出所“PCT信息核查系统”项目为例,详细2DataGridView显示速度慢的解决方案2.1用户需求当系统管理员在服务器端的主界面上单击“阐述了对于此问题的解决方案,解决方案具有一单申请管理”菜单时,选中相应的菜单项后定的通用性,希望对遇到此问题的软件开发人员有所帮助。1开发环境数据库采用MicrosoftSQLServer2008,IDE为MicrosoftVisualStudio2010,开发语言为VisualC#,Framework框架版本是3.5。DridView显示满足条件的数据。“话单申请管理”单中有四个选项:未处理的申请、已处理的申请、审核的申请和已审核的申请。如图1所示,图中示的数据为已处理的申请话单数据。电话号码为感数据,进行了部分遮掩。图1用户需求---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---图2Application数据表结构图3软件项目架构模式:三层架构[1]。如图3所示,在解决方案PCTServer中,包含有6个项目:Common项目是公共类库项2.2数据表一般的民警通过客户端填写话单申请,然后提交并保存到Application数据表,对于派出所的各大队长只能查看、审核本队警员的申请,系统管理员通过服务器端可以把审核过的话单申请生成相应的介绍信。所有的话单申请都保存到此表中,由于篇幅所限笔者不再赘述此数据表的外键表。表结构如图2所示。存放了如正则表达式验证类、字符串处理类等公共类;Model项目是实体类的类库项目,存放了项目中所有的实体类文件,其中分页实体类文件Pager.cs也在其中;PCT项目是表示层,采用的是WinForm窗体,主窗体Main.cs和话单管理窗体ApplicationFrom.cs存放在此项目中;PCTBLL项目是业务逻辑层的类库项目;PCTDAL项目是数据访问层的类库项目,PageService.cs就放在此项目中;PCTDBHelper项目也是一个类库项目,逻辑上属于数据访问层,它是数据访问助手类,本项目的数据库是MSSQL数据库,所以只有一个数据访问助手类SQLHelper.cs。2.3.2设计话单申请窗体如图4所示,有四个单击按钮(RadioButton):未处理的申请、已处理的申请、未审核的申请和已审核的申请。当某个相应的按钮处于选中(Checked)状态时,DridView数据控件显示从数据库中检索出对应的话单数据。2.3解决方案2.3.1搭建三层架构笔者在开发时,采用了微软标准的企业软件架构---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---图5PageService图6PageManager在DridView数据控件下方添加一个ToolStrip工具栏,并在工具栏中添加如图4所示的第一页、上一页、下一页、最后一页和跳转五个按钮和几个Lable标签,然后将五个按钮显示为已准备好的五个图片,并将Lable标签的Text属性值改为图中的文字。2.3.3分页实体类Pager.cs设计分页对象的属性有:PageSize(每页多少条数据,默认为10)、PageIndex(当前页索引,默认为1)、PageCount(总页数,默认为0)、TotalCount总条数,默认为0)、TableName(数据表名)、FieldName(表字段,默认为所有*)、OrderString(排序字符串,不带关键字orderby)、QueryCondition(查询条件,不带关键字where)、PrimaryKey(主键)、IsQueryTotalCount(是否查询总记录条数)。为了使分页实体类也能够应用到其它项目中[2],把数据表、查询的字段、排序字符串、查询条件和主键都设计成分页实体类的属性。2.3.4分页对象数据访问类PageService.cs和业务逻辑类PageManager.cs为了能够获得数...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

确认删除?