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://www.cnblogs.com/huyong 微博: 腾讯 Email: 406590790@qq.com QQ 交流:406590790 :16653241 平台博客: 【CSDN】http://blog.csdn.net/chinahuyong 【CNBLOGS】http://www.cnblogs.com/huyong 关于作者:高级工程师、信息系统项目管理师、DBA。专注于微软平台项目架构、管理和企业解决方案,多年项目开发与管理经验,曾多次组织并开发多个大型项目,精通DotNet,DB(SqlServer、Oracle等)技术。熟悉Java、Delhpi及Linux操作系统,有扎实的网络知识。在面向对象、面向服务以及数据库领域有一定的造诣。现从事DB管理与开发、WinForm、WCF、WebService、网页数据抓取以及ASP.NET等项目管理、开发、架构等工作。 如有问题或建议,请多多赐教! 本文版权归作者和CNBLOGS博客共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过邮箱或QQ 联系我,非常感谢。
相关推荐
ASP.NET Repeater分页,查询分页 ASP.NET Repeater分页,查询分页 ASP.NET Repeater分页,查询分页 ASP.NET Repeater分页,查询分页 ASP.NET Repeater分页,查询分页
本教程将深入探讨如何使用ADO.NET进行分页封装,特别是对于涉及多表连接查询的场景。分页在大数据量的展示中尤为重要,因为它允许用户以更高效的方式浏览和管理数据,而不会一次性加载所有记录导致性能下降。 首先...
在.NET框架中,分页控件是Web应用程序中不可或缺的一部分,它用于处理大量数据的显示,提高用户体验。本文将深入探讨.NET自定义分页控件的设计与实现,以及它的优势和应用。 首先,分页控件是数据展示的核心组件,...
ASP.NET 分页导航实例 ASP.NET 编程语言中,分页导航是实现数据分页的重要组件。ASP.NET 提供了多种分页方式,包括基于 Diesel、Repeater 和 DataList 等控件实现分页。今天,我们将讨论基于 JavaScript 实现的 ASP...
在这个“asp.net24种分页含源码”的资源包中,我们重点关注的是ASP.NET中的分页技术,这是一种在处理大量数据时不可或缺的功能,可以提高网页加载速度,提升用户体验。 分页是Web应用中常见的数据展示策略,特别是...
总的来说,"(VB.NET)WinForm自定义DataGridView分页组合控件"是一个实用的工具,可以帮助开发者在Windows Forms应用中轻松实现大数据量的分页显示。通过自定义控件的方式,不仅可以满足特定的需求,还可以提升应用...
通过学习和实践"迅网文章系统分页实例",开发者不仅可以了解.NET中的分页机制,还能掌握如何在实际项目中高效地实现和优化分页功能。同时,实例中还体现了良好的代码组织结构和MVC模式的应用,有助于提升整体的开发...
asp.net轻松实现中的分页 asp.net轻松实现中的分页 asp.net轻松实现中的分页 asp.net轻松实现中的分页 asp.net轻松实现中的分页 asp.net轻松实现中的分页 asp.net轻松实现中的分页 asp.net轻松实现中的分页 asp.net...
【标题】:“DWZ.NET 简单分页、表头排序及查询”是指在.NET开发环境中使用DWZ(Dynamic Web Zone)框架实现的一种高效、便捷的网页数据展示功能。DWZ.NET是一款基于Ajax的前端交互框架,尤其适用于构建富交互性的...
1. **数据获取**:使用ASP.NET的数据访问层(可能是`App_Code`中的类)从`App_Data`数据库中查询数据,根据分页需求限制查询结果的数量。 2. **数据处理**:在服务器端处理查询结果,计算总页数,为分页控件准备...
在"ASP.NET MVC 增册改查 分页"项目中,我们主要关注的是四个核心功能:增加(Add)、删除(Delete)、修改(Update)和查询(Query),这些都是任何数据驱动应用的基础。在三层架构中,这些功能通常分布在表现层...
本教程将详细介绍如何在ASP.NET环境中,特别是WinForms应用中,自定义一个适用于DataGrid的分页控件。 首先,理解分页的基本概念。分页是将大量数据分为多个小部分,每次只加载一部分到用户界面,这样可以避免一次...
在ASP.NET MVC框架中,开发高效且可复用的分页功能是常见的需求。这个案例提供的"手动分页(SportsStore项目)"提供了一个纯手工实现分页的示例,无需依赖任何第三方插件,使得开发者能够更好地理解和控制分页过程。...
标题中的".NET 3.5大数据量分页源码"是指在.NET Framework 3.5环境下,针对处理大量数据的场景,如何实现高效且用户体验良好的分页功能。在这个项目中,开发者提供了完整的源代码,帮助我们理解并学习如何在C#编程...
标题中的“.net中用伪静态实现新闻分页”指的是在.NET框架下,如何通过编程手段让新闻列表的分页链接看起来像静态页面,而不是典型的动态参数链接。下面我们将深入探讨这一主题。 1. **理解伪静态** - 伪静态的...
1. **服务器端分页**:在.NET中,服务器端分页涉及到数据库查询的优化。使用SQL Server,我们可以使用`OFFSET`和`FETCH NEXT`语句进行分页查询,或者利用`TOP`和`ORDER BY`组合实现。确保在执行分页查询时考虑性能,...
在ASP.NET开发中,Ajax(Asynchronous JavaScript and XML)技术被广泛用于创建具有高度交互性和响应性的Web应用程序。Ajax的核心优势在于它允许部分页面更新,而无需重新加载整个页面,从而提高了用户体验。在这个...
基于Asp.net MVC core的单表分页基础模版,实现任意表的增删改查操作
本主题将详细探讨如何使用存储过程实现ASP.NET中的多功能分页。 首先,我们需要理解什么是存储过程。存储过程是SQL Server中预编译的SQL语句集合,它允许我们在数据库端执行复杂的逻辑,提高数据操作的效率,并且...