From 085fef1f2662c238d56ee0dbaae1e4c777c171e2 Mon Sep 17 00:00:00 2001
From: lu <99954486@qq.com>
Date: 星期一, 25 十一月 2024 09:55:10 +0800
Subject: [PATCH] 分页查询

---
 DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Supplier.cs |   60 +++++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 41 insertions(+), 19 deletions(-)

diff --git a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Supplier.cs b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Supplier.cs
index 6116484..c98fb83 100644
--- a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Supplier.cs
+++ b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Supplier.cs
@@ -1,7 +1,7 @@
 锘縰sing System;
 using System.Collections.Generic;
 using System.Data;
-using System.Text;
+using System.Threading.Tasks;
 using System.Windows.Forms;
 using DevExpress.XtraEditors;
 using DevExpress.XtraGrid.Views.Grid;
@@ -24,8 +24,15 @@
             gcMain.MouseDoubleClick += GcMain_MouseDoubleClick;
             gridView1.CustomDrawRowIndicator +=
                 GridView1_CustomDrawRowIndicator;
-            getPageList(1, UtilityHelper.GetPageSize());
+            getPageList(1);
             pageBar1.PagerEvent += PageBar1_PagerEvent;
+            Gs.DevApp.ToolBox.UtilityHelper.SetGridSear(gridView1);
+        }
+        private async void GridView1_ColumnFilterChanged(object sender, EventArgs e)
+        {
+            _filterList = Gs.DevApp.ToolBox.UtilityHelper.GetDilter(gridView1.Columns);
+            await Task.Delay(100);
+            getPageList(1);
         }
 
         private void GridView1_CustomDrawRowIndicator(object sender,
@@ -55,7 +62,7 @@
         /// <param name="pageSize"></param>
         private void PageBar1_PagerEvent(int curPage, int pageSize)
         {
-            getPageList(curPage, pageSize);
+            getPageList(curPage);
         }
 
         /// <summary>
@@ -65,6 +72,9 @@
         /// <param name="e"></param>
         private void ToolBarMenu1_btnQueryClick(object sender, EventArgs e)
         {
+            gridView1.ColumnFilterChanged -= GridView1_ColumnFilterChanged;
+            gridView1.ActiveFilter.Clear();
+            gridView1.ColumnFilterChanged += GridView1_ColumnFilterChanged;
             var frm = new ShowFilter(gridView1.Columns, _filterList);
             frm.UpdateParent += Frm_UpdateParent;
             frm.ShowDialog();
@@ -78,7 +88,7 @@
         private void Frm_UpdateParent(object sender, UpdateParentEventArgs e)
         {
             _filterList = e.FilterList;
-            getPageList(1, pageBar1.RowsCount);
+            getPageList(1);
         }
 
         /// <summary>
@@ -91,39 +101,50 @@
             if (xtraTabControl1.SelectedTabPageIndex == 1)
                 getModel(lbGuid.Text.Trim(), false, 999);
             else
-                getPageList(1, UtilityHelper.GetPageSize());
+            {
+                _filterList.Clear();
+                if (gridView1.ActiveFilter.Count > 0)
+                {
+                    gridView1.ColumnFilterChanged -= GridView1_ColumnFilterChanged;
+                    gridView1.ActiveFilter.Clear();
+                    gridView1.ColumnFilterChanged += GridView1_ColumnFilterChanged;
+                }
+                getPageList(1);
+            }
         }
 
         /// <summary>
         /// </summary>
         /// <param name="curPage">绗嚑椤�</param>
         /// <param name="pageSize">姣忛〉鍑犳潯</param>
-        private void getPageList(int curPage, int pageSize)
+        private async void getPageList(int curPage)
         {
-            var _sbSqlWhere = new StringBuilder();
-            foreach (var itm in _filterList)
-                _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" +
-                                   itm.fileValue + "'");
-            var pgq = new PageQueryModel(curPage, pageSize, "create_date",
+            UcLoading _loading = new UcLoading();
+            var _sbSqlWhere = UtilityHelper.GetSearchWhere(_filterList);
+            var pgq = new PageQueryModel(curPage, this.pageBar1.RowsCount, "create_date",
                 "asc", "", _sbSqlWhere.ToString());
             var json = JsonConvert.SerializeObject(pgq);
             try
             {
-                var strReturn = UtilityHelper.HttpPost("",
+                var strReturn = await UtilityHelper.HttpPostAsync("",
                     _webServiceName + "GetListPage", json);
                 var dd = UtilityHelper.ReturnToTablePage(strReturn);
                 if (dd.rtnCode > 0)
                 {
                     DataTable dt = dd.rtnData.list;
                     gcMain.BindingContext = new BindingContext();
-                    gcMain.DataSource = dt;
-                    gcMain.ForceInitialize();
-                    int dddd = dd.rtnData.pages;//鎬婚〉
-                    pageBar1.TotalPages = dddd;
-                    pageBar1.RecordCount = dd.rtnData.total;//璁板綍鎬绘暟
+                    gridView1.ColumnFilterChanged -= GridView1_ColumnFilterChanged;
+                    if (dt.Rows.Count > 0)
+                    {
+                        gcMain.DataSource = dt;
+                        gcMain.ForceInitialize();
+                    }
+                    else
+                        UtilityHelper.SetDefaultTable(gcMain, gridView1);
+                    gridView1.ColumnFilterChanged += GridView1_ColumnFilterChanged;
+                    pageBar1.TotalPages = dd.rtnData.pages;//鎬婚〉
                     pageBar1.CurrentPage = curPage;//褰撳墠椤�
-                    pageBar1.RowsCount = pageSize;//姣忛〉鏄剧ず
-                    pageBar1.setTxt();
+                    pageBar1.RecordCount = dd.rtnData.total;//鎬昏褰曟暟
                 }
                 else
                 {
@@ -134,6 +155,7 @@
             {
                 MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
+            _loading.Stop();
         }
 
         private void getModel(string strGuid, bool isEdit, int tabIdx)

--
Gitblit v1.9.3