189 8069 5689

RDIFramework.NET中多表关联查询分页实例

RDIFramework.NET 中多表关联查询分页实例

网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、微信小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了梁子湖免费建站欢迎大家使用!

RDIFramework.NET,基于.NET的快速信息化系统开发、整合框架,给用户和开发者最佳的.Net框架部署方案。该框架以SOA范式作为指导思想,作为异质系统整合与互操作性、分布式应用提供了可行的解决方案。

分页非常的常见,基本任何项目都会涉及到分页,这没什么好谈的,大多数我们分页对单表的分页比较多,对多表的分页我们可以通过视图来实现,当然还有其他的方式,在这儿,我以一个实例展示下使用我们的RDIFramework.NET来实现多表联合查询分页的实现,我以Web的形式展示,WinForm方法一样,分页后的界面如下图所示:

RDIFramework.NET 中多表关联查询分页实例  UI上看不出什么,现在我们以代码说明如何实现,使用RDIFramework.NET实现上面的界面代码非常的简单,首先我们看下页面代码,代码如下:

<%@ Page Language="C#" MasterPageFile="~/Site.Master"  AutoEventWireup="true" CodeBehind="ProductInMuliPage.aspx.cs" Inherits="RDIFramework.WebApp.demo.ProductInMuliPage" %>


   
    
        新增
        
        
        修改         
        ***     
                         $(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: '' });             }         };     

 上面的代码,我们就实现了页面部分,现在我们来看下分页的代码,分页在我们框架中已经做了很完美的支持,可以通过多种方式,支持不同类型的数据库的分页实现,直接调用接口方法即可实现。我们看下上面的页面部分调用的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
出处: 
微博: 
Email: 406590790@qq.com
QQ 交流:406590790 
QQ群:16653241
平台博客: 
【CSDN】  
【CNBLOGS】
 关于作者:高级工程师、信息系统项目管理师、DBA。专注于微软平台项目架构、管理和企业解决方案,多年项目开发与管理经验,曾多次组织并开发多个大型项目,精通DotNet,DB(SqlServer、Oracle等)技术。熟悉Java、Delhpi及Linux操作系统,有扎实的网络知识。在面向对象、面向服务以及数据库领域有一定的造诣。现从事DB管理与开发、WinForm、WCF、WebService、网页数据抓取以及ASP.NET等项目管理、开发、架构等工作。
如有问题或建议,请多多赐教!
本文版权归作者和CNBLOGS博客共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过邮箱或QQ 联系我,非常感谢。

RDIFramework.NET 中多表关联查询分页实例


标题名称:RDIFramework.NET中多表关联查询分页实例
URL分享:http://cdxtjz.cn/article/jsgejs.html

联系我们

您好HELLO!
感谢您来到成都网站建设公司,若您有合作意向,请您为我们留言或使用以下方式联系我们, 我们将尽快给你回复,并为您提供真诚的设计服务,谢谢。
  • 电话:028- 86922220 18980695689
  • 商务合作邮箱:631063699@qq.com
  • 合作QQ: 532337155
  • 成都网站设计地址:成都市青羊区锣锅巷31号五金站写字楼6楼

小谭建站工作室

成都小谭网站建设公司拥有多年以上互联网从业经验的团队,始终保持务实的风格,以"帮助客户成功"为已任,专注于提供对客户有价值的服务。 我们已为众企业及上市公司提供专业的网站建设服务。我们不只是一家网站建设的网络公司;我们对营销、技术、管理都有自己独特见解,小谭建站采取“创意+综合+营销”一体化的方式为您提供更专业的服务!

小谭观点

相对传统的成都网站建设公司而言,小谭是互联网中的网站品牌策划,我们精于企业品牌与互联网相结合的整体战略服务。
我们始终认为,网站必须注入企业基因,真正使网站成为企业vi的一部分,让整个网站品牌策划体系变的深入而持久。