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_Department.cs |   77 ++++++++++++++++++++------------------
 1 files changed, 41 insertions(+), 36 deletions(-)

diff --git a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Department.cs b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Department.cs
index a3823cb..fb21fc4 100644
--- a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Department.cs
+++ b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Department.cs
@@ -1,10 +1,9 @@
 锘縰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.Columns;
 using DevExpress.XtraGrid.Views.Grid;
 using Gs.DevApp.Entity;
 using Gs.DevApp.ToolBox;
@@ -17,7 +16,6 @@
     {
         private List<FilterEntity> _filterList = new List<FilterEntity>();
         private readonly string _webServiceName = "SysDepartmentManager/";
-
         public Frm_Department()
         {
             InitializeComponent();
@@ -26,22 +24,16 @@
             gcMain.MouseDoubleClick += GcMain_MouseDoubleClick;
             gridView1.CustomDrawRowIndicator +=
                 GridView1_CustomDrawRowIndicator;
-            getPageList(1, UtilityHelper.GetPageSize());
+            getPageList(1);
             pageBar1.PagerEvent += PageBar1_PagerEvent;
-            gridView1.ColumnFilterChanged += GridView1_ColumnFilterChanged;
+            Gs.DevApp.ToolBox.UtilityHelper.SetGridSear(gridView1);
         }
 
-        private void GridView1_ColumnFilterChanged(object sender, EventArgs e)
+        private async void GridView1_ColumnFilterChanged(object sender, EventArgs e)
         {
-            //string filterString = gridView1.Columns[0].FilterInfo.ToString();
-            //ColumnFilterInfo filterString222 = gridView1.Columns[0].FilterInfo;
-            //if (filterString222 == null)
-            //    return;
-            //_filterList.Clear();
-            //System.Text.StringBuilder sbSql = new StringBuilder();
-            //_filterList.Add(new FilterEntity("b.FNumber", "浣跨敤缁勭粐", " like ", "鍖呭惈", "%"+ filterString222.Value + "%"));
-            //getPageList(1, UtilityHelper.GetPageSize());
-            ////MessageBox.Show(filterString222);
+            _filterList = Gs.DevApp.ToolBox.UtilityHelper.GetDilter(gridView1.Columns);
+            await Task.Delay(100);
+            getPageList(1);
         }
 
         private void GridView1_CustomDrawRowIndicator(object sender,
@@ -71,7 +63,7 @@
         /// <param name="pageSize"></param>
         private void PageBar1_PagerEvent(int curPage, int pageSize)
         {
-            getPageList(curPage, pageSize);
+            getPageList(curPage);
         }
 
         /// <summary>
@@ -81,6 +73,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();
@@ -94,7 +89,7 @@
         private void Frm_UpdateParent(object sender, UpdateParentEventArgs e)
         {
             _filterList = e.FilterList;
-            getPageList(1, pageBar1.RowsCount);
+            getPageList(1);
         }
 
         /// <summary>
@@ -107,39 +102,51 @@
             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, "a.create_date",
-                "asc", "", _sbSqlWhere.ToString());
+            
+            UcLoading _loading = new UcLoading();
+            var _sbSqlWhere = UtilityHelper.GetSearchWhere(_filterList);
+            var pgq = new PageQueryModel(curPage, this.pageBar1.RowsCount, "a.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
                 {
@@ -150,6 +157,7 @@
             {
                 MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
+            _loading.Stop();
         }
 
         private void getModel(string strGuid, bool isEdit, int tabIdx)
@@ -159,7 +167,6 @@
                 MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
-
             UtilityHelper.JumpToTab(xtraTabControl1, tabIdx);
             var _obj = new
             {
@@ -187,7 +194,5 @@
                 MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
-
-      
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3