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_MesUnit.cs |   61 ++++++++++++++++++++----------
 1 files changed, 41 insertions(+), 20 deletions(-)

diff --git a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesUnit.cs b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesUnit.cs
index 5866d3f..63e33dc 100644
--- a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesUnit.cs
+++ b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesUnit.cs
@@ -2,7 +2,7 @@
 using System.Collections.Generic;
 using System.Data;
 using System.Drawing;
-using System.Text;
+using System.Threading.Tasks;
 using System.Windows.Forms;
 using DevExpress.XtraEditors;
 using Gs.DevApp.Entity;
@@ -22,7 +22,7 @@
             toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
             toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick;
             gcMain.MouseDoubleClick += GcMain_MouseDoubleClick;
-            getPageList(1, UtilityHelper.GetPageSize());
+            getPageList(1);
             pageBar1.PagerEvent += PageBar1_PagerEvent;
             gridView1.CustomDrawRowIndicator += (s, e) =>
             {
@@ -37,8 +37,14 @@
                     e.Bounds.Top + 45, e.Bounds.Right - 5, e.Bounds.Height - 5);
                 e.Graphics.DrawString(str, f, Brushes.Gray, r);
             };
+            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);
+        }
         /// <summary>
         ///     鍙屽嚮浜嬩欢
         /// </summary>
@@ -59,7 +65,7 @@
         /// <param name="pageSize"></param>
         private void PageBar1_PagerEvent(int curPage, int pageSize)
         {
-            getPageList(curPage, pageSize);
+            getPageList(curPage);
         }
 
         /// <summary>
@@ -69,6 +75,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();
@@ -82,7 +91,7 @@
         private void Frm_UpdateParent(object sender, UpdateParentEventArgs e)
         {
             _filterList = e.FilterList;
-            getPageList(1, pageBar1.RowsCount);
+            getPageList(1);
         }
 
         /// <summary>
@@ -95,39 +104,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, "fname", "asc", "",
+            UcLoading _loading = new UcLoading();
+            var _sbSqlWhere = UtilityHelper.GetSearchWhere(_filterList);
+            var pgq = new PageQueryModel(curPage, this.pageBar1.RowsCount, "fname", "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
                 {
@@ -138,6 +158,7 @@
             {
                 MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
+            _loading.Stop();
         }
 
         /// <summary>

--
Gitblit v1.9.3