From 3d30cde705346374ef6176106c9169ee08ce15da Mon Sep 17 00:00:00 2001
From: lu <99954486@qq.com>
Date: 星期六, 07 十二月 2024 08:13:30 +0800
Subject: [PATCH] 1

---
 DevApp/Gs.DevApp/DevFrm/QC/Frm_MesQmCheckitemDt.cs |  171 ++++++++++++++++++++++++---------------------------------
 1 files changed, 72 insertions(+), 99 deletions(-)

diff --git a/DevApp/Gs.DevApp/DevFrm/QC/Frm_MesQmCheckitemDt.cs b/DevApp/Gs.DevApp/DevFrm/QC/Frm_MesQmCheckitemDt.cs
index 752f3b7..c75af4a 100644
--- a/DevApp/Gs.DevApp/DevFrm/QC/Frm_MesQmCheckitemDt.cs
+++ b/DevApp/Gs.DevApp/DevFrm/QC/Frm_MesQmCheckitemDt.cs
@@ -1,10 +1,9 @@
 using System;
 using System.Collections.Generic;
 using System.Data;
-using System.Drawing;
-using System.Text;
+using System.Reflection;
+using System.Threading.Tasks;
 using System.Windows.Forms;
-using DevExpress.RichEdit.Export;
 using DevExpress.XtraEditors;
 using DevExpress.XtraGrid.Views.Grid;
 using Gs.DevApp.Entity;
@@ -35,30 +34,18 @@
             toolBarMenu1.btnFChkClick += ToolBarMenu1_btnFChkClick;
             toolBarMenu1.btnPiZhunClick += ToolBarMenu1_btnPiZhunClick;
             gcMain.MouseDoubleClick += GcMain_MouseDoubleClick;
-            gridView1.FocusedRowChanged += (s, e) =>
-            {
-                UtilityHelper.SetCheckIco(s, picCheckBox, this, "foneChecked", "");
-            };
-            getPageList(1, UtilityHelper.GetPageSize());
+            Gs.DevApp.ToolBox.UtilityHelper.SetGridSear(gridView1);
+            getPageList(1);
             pageBar1.PagerEvent += PageBar1_PagerEvent;
-            gridView1.CustomDrawRowIndicator += (s, e) =>
-            {
-                if (e.Info.IsRowIndicator && e.RowHandle >= 0)
-                    e.Info.DisplayText = (e.RowHandle + 1).ToString();
-            };
-            gridView1.CustomDrawEmptyForeground += (s, e) =>
-            {
-                var str = "鏆傛湭鏌ユ壘鍒板尮閰嶇殑鏁版嵁!";
-                var f = new Font("寰蒋闆呴粦", 16);
-                var r = new Rectangle(
-                    gridView1.GridControl.Width / 2 - 100, e.Bounds.Top + 45,
-                    e.Bounds.Right - 5, e.Bounds.Height - 5);
-                e.Graphics.DrawString(str, f, Brushes.Gray, r);
-            };
             //鍒濆鍖栫墿鏂欓�夋嫨鍜屽悇绉嶄笅鎷�
             _setIno();
         }
-
+        private void GridView1_ColumnFilterChanged(object sender, EventArgs e)
+        {
+            _filterList = Gs.DevApp.ToolBox.UtilityHelper.GetDilter(gridView1.Columns);
+            Task.Delay(100);
+            getPageList(1);
+        }
         /// <summary>
         ///     鍙屽嚮浜嬩欢
         /// </summary>
@@ -80,7 +67,7 @@
         /// <param name="pageSize"></param>
         private void PageBar1_PagerEvent(int curPage, int pageSize)
         {
-            getPageList(curPage, pageSize);
+            getPageList(curPage);
         }
 
         /// <summary>
@@ -90,9 +77,10 @@
         /// <param name="e"></param>
         private void ToolBarMenu1_btnQueryClick(object sender, EventArgs e)
         {
-            var frm =
-                new ShowFilter(gridView1.Columns,
-                    _filterList);
+            gridView1.ColumnFilterChanged -= GridView1_ColumnFilterChanged;
+            gridView1.ActiveFilter.Clear();
+            gridView1.ColumnFilterChanged += GridView1_ColumnFilterChanged;
+            var frm = new ShowFilter(gridView1.Columns, _filterList);
             frm.UpdateParent += Frm_UpdateParent;
             frm.ShowDialog();
         }
@@ -105,7 +93,7 @@
         private void Frm_UpdateParent(object sender, UpdateParentEventArgs e)
         {
             _filterList = e.FilterList;
-            getPageList(1, pageBar1.RowsCount);
+            getPageList(1);
         }
         /// <summary>
         /// 鎵瑰噯
@@ -124,7 +112,7 @@
                 if (_rtn.rtnCode > 0)
                 {
                     UtilityHelper.JumpToTab(xtraTabControl1, 0);
-                    getPageList(1, UtilityHelper.GetPageSize());
+                    getPageList(1);
                 }
                 ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
             }
@@ -202,7 +190,7 @@
                 if (_rtn.rtnCode > 0)
                 {
                     UtilityHelper.JumpToTab(xtraTabControl1, 0);
-                    getPageList(1, UtilityHelper.GetPageSize());
+                    getPageList(1);
                 }
                 MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
             }
@@ -222,7 +210,16 @@
             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>
@@ -268,7 +265,7 @@
         {
             toolBarMenu1.isSetBtn = false;
             string _ItemId = txt_ItemId.GetId()
-;          if (string.IsNullOrEmpty(_ItemId))
+; if (string.IsNullOrEmpty(_ItemId))
             {
                 MsgHelper.Warning("璇烽�夋嫨鐗╂枡锛�");
                 txt_ItemId.Focus();
@@ -292,7 +289,7 @@
                         Fstand = row["Fstand"].ToString(),
                         FacLevel = row["FacLevel"].ToString(),
                         FspecRequ = row["FspecRequ"].ToString(),
-                        Memo  = row["memo"].ToString(),
+                        Memo = row["memo"].ToString(),
                         FupAllow = row["FupAllow"].ToString(),
                         FdownAllow = row["FdownAllow"].ToString(),
                     });
@@ -306,7 +303,7 @@
                 ItemNo = txt_itemNo.Text.Trim(),
                 Isenabled = txt_isenabled.Checked,
                 Ftype = "1",
-                Fversion =Gs.DevApp.ToolBox.UtilityHelper.ToLong( txt_fversion.Text.Trim()),
+                Fversion = Gs.DevApp.ToolBox.UtilityHelper.ToLong(txt_fversion.Text.Trim()),
                 list = lst
             };
             try
@@ -337,36 +334,35 @@
         /// </summary>
         /// <param name="curPage">绗嚑椤�</param>
         /// <param name="pageSize">姣忛〉鍑犳潯</param>
-        private void getPageList(int curPage, int pageSize)
+        private 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,
+            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("",
-                  //  _webServiceName + "GetListPageIQC", json);
                 _webServiceName + "GetListPage", json);
                 var dd =
                     UtilityHelper.ReturnToTablePage(strReturn);
                 if (dd.rtnCode > 0)
                 {
-                    var dt = dd.rtnData.list;
+                    DataTable dt = dd.rtnData.list;
                     gcMain.BindingContext = new BindingContext();
-                    gcMain.DataSource = dt;
-                    gcMain.ForceInitialize();
-                    var dddd = dd.rtnData.pages; //鎬婚〉
-                    pageBar1.TotalPages = dddd;
-                    pageBar1.RecordCount = dd.rtnData.total; //璁板綍鎬绘暟
-                    pageBar1.CurrentPage = curPage; //褰撳墠椤�
-                    pageBar1.RowsCount = pageSize; //姣忛〉鏄剧ず
-                    pageBar1.setTxt();
+                    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.RecordCount = dd.rtnData.total;//鎬昏褰曟暟
                 }
                 else
                 {
@@ -377,6 +373,7 @@
             {
                 MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
+
         }
 
         private void getModel(string strGuid, bool isEdit, int tabIdx)
@@ -395,7 +392,7 @@
             try
             {
                 var strJson = UtilityHelper.HttpPost("",
-                   // _webServiceName + "GetModelIQC",
+                         // _webServiceName + "GetModelIQC",
                          _webServiceName + "GetModel",
                     JsonConvert.SerializeObject(_obj));
                 var _rtn =
@@ -412,7 +409,6 @@
                     var _job = JObject.Parse(strJson);
                     var array = new JArray();
                     foreach (var a in _job["rtnData"]["list"]) array.Add(a);
-
                     var dt =
                         JsonConvert.DeserializeObject<DataTable>(
                             array.ToString());
@@ -443,58 +439,34 @@
 
         #region 浠ヤ笅涓虹绉嶄笅鎷�
 
-        private void getCopyMx(string strGuid)
+        private  DataTable ListToTable<T>(List<T> items)
         {
-            if (string.IsNullOrEmpty(strGuid))
+            DataTable dataTable = new DataTable(typeof(T).Name);
+
+            // 鑾峰彇鎵�鏈夌殑灞炴��
+            PropertyInfo[] Props = typeof(T).GetProperties(BindingFlags.Public | BindingFlags.Instance);
+            foreach (PropertyInfo prop in Props)
             {
-                MsgHelper.Warning("璇峰厛閫夋嫨浣犺澶嶅埗鐨勮锛�");
-                return;
+                // 璁剧疆鍒楃殑鍚嶅瓧鍜屾暟鎹被鍨�
+                dataTable.Columns.Add(prop.Name, Nullable.GetUnderlyingType(prop.PropertyType) ?? prop.PropertyType);
             }
-            var _obj = new
+
+            // 閬嶅巻鎵�鏈夌殑瀵硅薄
+            foreach (T item in items)
             {
-                guid = strGuid
-            };
-            try
-            {
-                var strJson = UtilityHelper.HttpPost("",
-                    _webServiceName + "GetModelIQC",
-                    JsonConvert.SerializeObject(_obj));
-                var _rtn =
-                    UtilityHelper.ReturnToDynamic(strJson);
-                if (_rtn.rtnCode > 0)
+                var values = new object[Props.Length];
+                for (int i = 0; i < Props.Length; i++)
                 {
-                    var dy = _rtn.rtnData;
-                    var _job = JObject.Parse(strJson);
-                    var array = new JArray();
-                    foreach (var a in _job["rtnData"]["list"]) array.Add(a);
-                    var dt =
-                        JsonConvert.DeserializeObject<DataTable>(
-                            array.ToString());
-                    if (dt.Rows.Count > 0)
-                    {
-                        gcMx1.BindingContext = new BindingContext();
-                        gcMx1.DataSource = dt;
-                        gcMx1.ForceInitialize();
-                    }
-                    else
-                    {
-                        MsgHelper.Warning("鎻愮ず锛氭病鎵惧埌鐩稿簲鐨勬槑缁嗭紝璇烽�夋嫨鍏跺畠璇曡瘯锛�");
-                    }
+                    // 鎻掑叆灞炴�у�煎埌datatable
+                    values[i] = Props[i].GetValue(item, null);
                 }
-                else
-                {
-                    MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
-                }
+                dataTable.Rows.Add(values);
             }
-            catch (Exception ex)
-            {
-                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
-            }
+            return dataTable;
         }
 
         private void _setIno()
         {
-            txt_ItemId.KeyFile = "id";
             txt_ItemId.EditChanged += (s, e) =>
             {
                 txt_itemModel.Text = this.txt_ItemId.GetModel();
@@ -505,10 +477,12 @@
                 var frm = new SelectCheckDt();
                 frm.UpdateParent += (ss, ee) =>
                 {
-                    var lst = new List<string>();
-                    lst = ee.StringList;
-                    getCopyMx(lst[0]);
-
+                    var lst = new List<dynamic>();
+                    lst = ee.DynamicList;
+                    DataTable table = ListToTable(lst);
+                    gridControl2.BindingContext = new BindingContext();
+                    gridControl2.DataSource = table;
+                    gridControl2.ForceInitialize();
                 };
                 frm.ShowDialog();
             };
@@ -646,7 +620,6 @@
                 gvMx1.UpdateCurrentRow();
                 gvMx1.SetRowCellValue(dataIndex, "sampleSizeNo", _val);
                 gvMx1.SetRowCellValue(dataIndex, "sampleSizeName", _txt);
-              
             }
         }
         private void repositoryItemButtonEdit1_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)

--
Gitblit v1.9.3