溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

RDIFramework.NET 中多表關聯查詢分頁實例

發布時間:2020-06-18 20:17:21 來源:網絡 閱讀:696 作者:yonghu86 欄目:編程語言

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" %>
<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"  href="javascript:;" plain="true" class="easyui-linkbutton" icon="icon-add" title="新增">新增</a>
        <div class='datagrid-btn-separator'>
        </div>
        <a id="a_edit"  href="javascript:;" plain="true" class="easyui-linkbutton" icon="icon-pencil" title="修改">修改</a>
        <div class='datagrid-btn-separator'></div>
        <a id="a_delete"  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
出處: 
微博: 
Email: 406590790@qq.com
QQ 交流:406590790 
QQ群:16653241
平臺博客: 
【CSDN】  
【CNBLOGS】
 關于作者:高級工程師、信息系統項目管理師、DBA。專注于微軟平臺項目架構、管理和企業解決方案,多年項目開發與管理經驗,曾多次組織并開發多個大型項目,精通DotNet,DB(SqlServer、Oracle等)技術。熟悉Java、Delhpi及Linux操作系統,有扎實的網絡知識。在面向對象、面向服務以及數據庫領域有一定的造詣?,F從事DB管理與開發、WinForm、WCF、WebService、網頁數據抓取以及ASP.NET等項目管理、開發、架構等工作。
如有問題或建議,請多多賜教!
本文版權歸作者和CNBLOGS博客共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,如有問題,可以通過郵箱或QQ 聯系我,非常感謝。

RDIFramework.NET 中多表關聯查詢分頁實例

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女