RDIFramework.NET 中多表关联查询分页实例
来源:互联网 发布:台湾国护照贴纸 知乎 编辑:程序博客网 时间:2024/06/04 22:20
RDIFramework.NET 中多表关联查询分页实例
RDIFramework.NET,基于.NET的快速信息化系统开发、整合框架,给用户和开发者最佳的.Net框架部署方案。该框架以SOA范式作为指导思想,作为异质系统整合与互操作性、分布式应用提供了可行的解决方案。
分页非常的常见,基本任何项目都会涉及到分页,这没什么好谈的,大多数我们分页对单表的分页比较多,对多表的分页我们可以通过视图来实现,当然还有其他的方式,在这儿,我以一个实例展示下使用我们的RDIFramework.NET来实现多表联合查询分页的实现,我以Web的形式展示,WinForm方法一样,分页后的界面如下图所示:
UI上看不出什么,现在我们以代码说明如何实现,使用RDIFramework.NET实现上面的界面代码非常的简单,首先我们看下页面代码,代码如下:
<%@ Page Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="ProductInMuliPage.aspx.cs" Inherits="RDIFramework.WebApp.demo.ProductInMuliPage" %><asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"></asp:Content><asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> <div id="toolbar"> <a id="a_add" style="float:left" href="javascript:;" plain="true" class="easyui-linkbutton" icon="icon-add" title="新增">新增</a> <div class='datagrid-btn-separator'> </div> <a id="a_edit" style="float:left" href="javascript:;" plain="true" class="easyui-linkbutton" icon="icon-pencil" title="修改">修改</a> <div class='datagrid-btn-separator'></div> <a id="a_delete" style="float:left" href="javascript:;" plain="true" class="easyui-linkbutton" icon="icon-delete" title="删除">删除</a> </div> <table id="list1"></table> <script type="text/javascript"> $(function () { autoResize({ dataGrid: '#list1', gridType: 'datagrid', callback: grid.bind, height: 0 }); $('#a_add').click(CRUD.add); $('#a_edit').click(CRUD.edit); $('#a_delete').click(CRUD.del); }); var grid = { bind: function (winSize) { $('#list1').datagrid({ url: '/demo/handler/ProductIn.ashx?action=GetMultiPage', toolbar: '#toolbar', title: "数据列表", iconCls: 'icon icon-list', width: winSize.width, height: winSize.height, nowrap: false, //折行 rownumbers: true, //行号 striped: true, //隔行变色 idField: 'ID', //主键 sortName: 'CREATEON', sortOrder: 'desc', singleSelect: true, //单选 frozenColumns: [[]], columns: [[ { title: '主键', field: 'ID', width: 120, hidden: true }, { title: '入库单编码', field: 'CODE', width: 130 }, { title: '入库日期', field: 'INDATE', width: 150 }, { title: '入库类型', field: 'INTYPE', width: 100 }, { title: '保管员', field: 'CUSTODIAN', width: 70 }, { title: '品名', field: 'FULLNAME', width: 100 }, { title: '数量', field: 'AMOUNT', width: 80 }, { title: '单价', field: 'UNITPRICE', width: 150 } ]], pagination: true, pageSize: 5, pageList: [5, 10, 20] }); }, getSelectedRow: function () { return $('#list1').datagrid('getSelected'); }, reload: function () { $('#list1').datagrid('clearSelections').datagrid('reload', { filter: '' }); } }; </script></asp:Content>
上面的代码,我们就实现了页面部分,现在我们来看下分页的代码,分页在我们框架中已经做了很完美的支持,可以通过多种方式,支持不同类型的数据库的分页实现,直接调用接口方法即可实现。我们看下上面的页面部分调用的ashx中的方法“/demo/handler/ProductIn.ashx?action=GetMultiPage”代码如下:
private string GetProductMultiPage(){ var returnJson = "[]"; var managerMain = new CASE_PRODUCTIN_MAINManager(this.dbHelper, Utils.UserInfo); var _pageindex = pageindex > 0 ? pageindex : 1; var _pagesize = pagesize > 0 ? pagesize : 20; int recordCount; managerMain.CurrentTableName = @"(SELECT tab1.ID,tab1.CODE,tab1.INDATE,tab1.INTYPE,tab1.CUSTODIAN,tab1.CREATEON,tab2.FULLNAME,tab2.AMOUNT,tab2.UNITPRICE FROM dbo.CASE_PRODUCTIN_MAIN tab1 INNER JOIN dbo.CASE_PRODUCTIN_DETAIL tab2 ON tab1.ID = tab2.CASE_PRODUCTIN_MAIN_ID) pageData"; managerMain.SelectField = "*"; var dtProductIn = managerMain.GetDTByPage(out recordCount, _pageindex, _pagesize, null, "CREATEON DESC"); if (dtProductIn != null && dtProductIn.Rows.Count > 0) { returnJson = JSONhelper.FormatJSONForEasyuiDataGrid(recordCount, dtProductIn); } return returnJson;}
上面的代码可供开发者参考,这样不管你是多少表的关联查询,分页的问题都可以迎刃而解,WinForm的类似。
作者: EricHu
出处:http://blog.csdn.net/chinahuyong
Email:406590790@qq.com
QQ交流:406590790
QQ群:237326100
框架博客:http://blog.csdn.net/chinahuyong
http://www.cnblogs.com/huyong
RDIFramework.NET,基于.NET的快速信息化系统开发、整合框架,给用户和开发者最佳的.Net框架部署方案。
关于作者:高级工程师、信息系统项目管理师、DBA。专注于微软平台项目架构、管理和企业解决方案,多年项目开发与管理经验,曾多次组织并开发多个大型项目,在面向对象、面向服务以及数据库领域有一定的造诣。现主要从事基于 RDIFramework.NET 框架的技术开发、咨询工作,主要服务于金融、医疗卫生、铁路、电信、物流、物联网、制造、零售等行业。
如有问题或建议,请多多赐教!
本文版权归作者和CSDN共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过邮箱或QQ 联系我,非常感谢。
- RDIFramework.NET 中多表关联查询分页实例
- .net EF Join 关联表分页查询
- mysql数据库中多表关联查询的实例
- Mysql分页&关联查询优化
- struts2 分页查询实例
- 分页查询实例
- 网页分页查询实例
- java分页查询实例
- mysql通过“延迟关联”进行limit分页查询优化的一个实例
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.0 版新增查询引擎管理
- .NET快速开发整合框架(RDIFramework.NET)【开发实例】之产品管理(WinForm)
- MySQL关联查询优化实例
- 【asp.NET】分页实例
- RDIFramework.NET V2.8版本 ━ 开发实例之产品管理(WinForm)
- RDIFramework.NET开发实例━表约束条件权限的使用-WinForm
- RDIFramework.NET开发实例━表约束条件权限的使用-Web
- Mybatis关联结果查询分页方法
- Mybatis关联结果查询分页方法
- hdu-4782
- sql 拼接查询 小记
- 怎么进行数据分析
- 构造方法的调用并涉及this、super用法
- linux系统下安装zookeeper集群
- RDIFramework.NET 中多表关联查询分页实例
- 我们都是好孩子,异想天开的孩子
- 旅行家的预算
- Oracle中JOB的创建方法以及一个细节的探究
- 仿内涵社源码,带会员中心,投稿,审稿功能
- ffmpeg Tutorial -2 初印象
- 中国制造人力资源信息化改革迫在眉睫
- linuxshell中"2>&1"含义
- DLL注入练习之注册表主表-AppInit_DLLs表项