不说废话,大牛初始亦菜鸟,成功之路贵执行,马上行动!如果想获得更优质的显示效果,请在Chrome、Firefox等现代浏览器浏览本站。

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

:: RDIFramework.NET EricHu 849℃ 0评论

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" %>


   
    

     

  上面的代码,我们就实现了页面部分,现在我们来看下分页的代码,分页在我们框架中已经做了很完美的支持,可以通过多种方式,支持不同类型的数据库的分页实现,直接调用接口方法即可实现。我们看下上面的页面部分调用的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的类似。   

 

转载请注明:RDIFramework.NET » RDIFramework.NET 中多表关联查询分页实例

喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址