using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Net; using System.Net.Cache; using System.Net.Http; using System.Reflection; using System.Resources; using System.Text; using System.Text.RegularExpressions; using System.Threading.Tasks; using System.Windows.Forms; using DevExpress.XtraEditors; using DevExpress.XtraEditors.Controls; using DevExpress.XtraGrid; using DevExpress.XtraGrid.Columns; using DevExpress.XtraGrid.Menu; using DevExpress.XtraGrid.Views.Grid; using DevExpress.XtraTab; using DevExpress.XtraTreeList; using Gs.DevApp.Entity; using Gs.DevApp.UserControl; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using UserControls.Data; using static System.Windows.Forms.Control; namespace Gs.DevApp.ToolBox { /// /// 通用类 /// public class UtilityHelper { private static readonly string WebApiUrl = ConfigurationManager.AppSettings["WebApiUrl"]; public static async Task UploadFileAsync(string filePath) { using (var httpClient = new HttpClient()) using (var form = new MultipartFormDataContent()) { httpClient.DefaultRequestHeaders.Add("token", GetBasicAuthTicket()); using (var fs = File.OpenRead(filePath)) using (var streamContent = new StreamContent(fs)) { form.Add(streamContent, "file", Path.GetFileName(filePath)); var response = await httpClient.PostAsync( WebApiUrl + "Upload/UploadFile", form); var responseString = await response.Content.ReadAsStringAsync(); return responseString; } } } public static (Size, string, Color, Padding) getLoading() { Size _size = new Size(360, 90); return (_size, "拼命加载中,请稍后...", System.Drawing.Color.LightSkyBlue, new Padding(15)); } public static string HttpPost(string url, string meth, string param) { Size _size; string _caption; Color _color; Padding _pad; (_size, _caption, _color, _pad) = getLoading(); DevExpress.Utils.WaitDialogForm wdf = new DevExpress.Utils.WaitDialogForm("加载进度:"+meth, _caption, _size); wdf.BackColor = _color; wdf.Padding = _pad; HttpWebRequest request = null; StreamWriter requestStream = null; WebResponse response = null; string responseStr = null; try { if (string.IsNullOrEmpty(url)) url = WebApiUrl; url += meth; request = (HttpWebRequest)WebRequest.Create(url); request.Method = "POST"; request.ContentType = "application/json"; request.Headers.Add("token", GetBasicAuthTicket()); request.Accept = "*/*"; request.Timeout = 150000; request.AllowAutoRedirect = false; request.ServicePoint.Expect100Continue = false; HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore); request.CachePolicy = noCachePolicy; requestStream = new StreamWriter(request.GetRequestStream()); requestStream.Write(param); requestStream.Close(); response = request.GetResponse(); if (response != null) { var reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8); responseStr = reader.ReadToEnd(); //File.WriteAllText(Server.MapPath("~/") + @"\test.txt", responseStr); reader.Close(); } } catch (Exception ex) { wdf.Close(); LogHelper.Debug(url, param + ":" + ex.Message); throw ex; } finally { request = null; requestStream = null; response = null; } wdf.Close(); return responseStr; } /// /// 默认页大小 /// /// public static int GetPageSize() { return int.Parse(ConfigurationSettings.AppSettings.Get("PageSize")); } /// /// 根据图片名读取资源文件,不带后缀名 /// /// /// 1为大图 /// public static Image GetImgFromResource(string imageName, int lay) { var assembly = Assembly.GetExecutingAssembly(); var resourceManager = new ResourceManager("Gs.DevApp.Properties.Resources", assembly); try { var image = resourceManager.GetObject(imageName) as Image; if (image != null) return image; } catch (Exception ex) { } var image2 = resourceManager.GetObject(lay == 1 ? "chartsshowlegend_32x32" : "linktoprevious_16x16") as Image; return image2; } /// /// 初始化一个表 /// /// /// public static void SetDefaultTable(GridControl gc, GridView gv) { var dt = new DataTable(); foreach (GridColumn col in gv.Columns) { if (col.UnboundDataType == typeof(System.Boolean)) dt.Columns.Add(col.FieldName, typeof(System.Boolean)); else { dt.Columns.Add(col.FieldName, typeof(string)); } } gc.BindingContext = new BindingContext(); gc.DataSource = dt; gc.ForceInitialize(); } /// /// 生成访问服务的token /// /// public static string GetBasicAuthTicket() { var userGuid = string.IsNullOrEmpty(LoginInfoModel.CurrentUser.LoginUserGuid) ? Guid.NewGuid().ToString() : LoginInfoModel.CurrentUser.LoginUserGuid; var token = userGuid; return token; } /// /// 服务返回的json转为ReturnModel-->包含TablePage分页, /// /// /// public static ReturnModel ReturnToTablePage( string strReturn) { var rto = new ReturnModel(); var json = JObject.Parse(strReturn); rto.rtnCode = int.Parse(json["rtnCode"].ToString()); rto.rtnMsg = json["rtnMsg"].ToString(); rto.rtnData = new PageListModel(); rto.rtnData.pages = int.Parse(json["rtnData"]["pages"].ToString()); rto.rtnData.total = int.Parse(json["rtnData"]["total"].ToString()); rto.rtnData.everyPageSize = int.Parse(json["rtnData"]["everyPageSize"].ToString()); var array = new JArray(); var d = json["rtnData"]["list"]; foreach (var a in d) array.Add(a); var dt = JsonConvert.DeserializeObject(array.ToString()); rto.rtnData.list = dt; return rto; } /// /// 服务返回的json返回ReturnModel, /// /// /// public static ReturnModel ReturnToDynamic(string strReturn) { var rto = new ReturnModel(); var json = JObject.Parse(strReturn); rto.rtnCode = int.Parse(json["rtnCode"].ToString()); rto.rtnMsg = json["rtnMsg"].ToString(); rto.rtnData = json["rtnData"]; return rto; } /// /// 服务返回的json串返回ReturnModel-->仅仅有list,不分页, /// /// /// public static ReturnModel ReturnToList(string strReturn) { var rto = new ReturnModel(); var json = JObject.Parse(strReturn); rto.rtnCode = int.Parse(json["rtnCode"].ToString()); rto.rtnMsg = json["rtnMsg"].ToString(); rto.rtnData = new DataTable(); var array = new JArray(); var d = json["rtnData"]; foreach (var a in d) array.Add(a); var dt = JsonConvert.DeserializeObject(array.ToString()); rto.rtnData = dt; return rto; } /// /// 根据对象批量设置文本框的值 /// /// controls:为groupBox1.Controls/panel1.Controls /// 对像 /// 是否可编辑 /// 关联的grid public static void SetValueByObj(ControlCollection controls, dynamic dynamicObject, bool isEdt, List gridViews = null) { isEdt = !isEdt; if (gridViews != null) { foreach (var gv in gridViews) { foreach (GridColumn colmn in gv.Columns) { colmn.OptionsColumn.AllowEdit = true; if (colmn.Name.ToString().Contains("gvBtnAlawys")) { colmn.Visible = true; colmn.OptionsColumn.ReadOnly = false; }; if (colmn.Name.ToString().Contains("gvMxDel") || colmn.Name.ToString().Contains("gvMxTui")) { colmn.Visible = !isEdt; if (colmn.Visible == true) colmn.VisibleIndex = 99999; } else { if (isEdt == false) { if (colmn.Tag != null && colmn.Tag.ToString().EndsWith("edit")) colmn.OptionsColumn.ReadOnly = isEdt; else colmn.OptionsColumn.ReadOnly = !isEdt; } else colmn.OptionsColumn.ReadOnly = isEdt; } } } } var _btnAry = controls.Find("btnSelect", false); if (_btnAry.Length > 0) { var _btnType = _btnAry[0]; _btnType.Enabled = !isEdt; } var _btnAry2 = controls.Find("btnTui", false); if (_btnAry2.Length > 0) { var _btnType = _btnAry2[0]; _btnType.Enabled = !isEdt; } foreach (JProperty property in dynamicObject.Properties()) { var strName = property.Name; var strVal = property.Value.ToString(); try { var _dddddd = "txt_" + strName; var cols = controls.Find(_dddddd, true); if (cols.Length > 0) { var colType = cols[0]; if (colType is LookUpEdit) { var txt = colType as LookUpEdit; if (txt != null) txt.EditValue = strVal; txt.ReadOnly = isEdt; continue; } if (colType is ImageComboBoxEdit) { var txt = colType as ImageComboBoxEdit; for (var i = 0; i < txt.Properties.Items.Count; i++) { if (txt.Properties.Items[i].Description == strVal) { txt.ReadOnly = isEdt; txt.SelectedIndex = i; } } continue; } if (colType is ComboBoxEdit) { var txt = colType as ComboBoxEdit; if (txt.Properties.TextEditStyle == TextEditStyles.DisableTextEditor) try { txt.SelectedIndex = int.Parse(strVal); } catch (Exception) { txt.Text = strVal; } else txt.Text = strVal; txt.ReadOnly = isEdt; continue; } //自定义下拉 if (colType is UcComBox) { var txt = colType as UcComBox; txt.Val = strVal; txt.Enabled = !isEdt; continue; } //文本 if (colType is TextEdit) { var txt = colType as TextEdit; if (txt != null) txt.Text = strVal; if (_isRead(txt.Tag)) { txt.ReadOnly = true; } else txt.ReadOnly = isEdt; continue; } if (colType is MemoEdit) { var txt = colType as MemoEdit; if (txt != null) txt.Text = strVal; if (_isRead(txt.Tag)) { txt.ReadOnly = true; } else txt.ReadOnly = isEdt; continue; } //数字卡 if (colType is NumericUpDown) { var txt = colType as NumericUpDown; if (txt != null) txt.Text = strVal; txt.ReadOnly = isEdt; continue; } //单选 if (colType is CheckEdit) { var txt = colType as CheckEdit; if (_isRead(txt.Tag)) { txt.ReadOnly = true; } else txt.ReadOnly = isEdt; if (txt != null) { switch (strVal) { case "True": txt.Checked = true; break; case "1": txt.Checked = true; break; case "False": txt.Checked = false; break; default: txt.Checked = false; break; } } continue; } //单选 if (colType is CheckBox) { var txt = colType as CheckBox; if (txt != null) switch (strVal) { case "True": txt.Checked = true; break; case "1": txt.Checked = true; break; case "False": txt.Checked = false; break; default: txt.Checked = false; break; } txt.Enabled = !isEdt; continue; } //时间 if (colType is DateTimePicker) { var txt = colType as DateTimePicker; txt.Text = strVal; txt.Enabled = !isEdt; continue; } //Label if (colType is Label) { var txt = colType as Label; if (_dddddd == "txt_checkStatus") { if (strVal == "True" || strVal == "1") txt.Text = "已审核"; if (strVal == "False" || strVal == "0" || strVal == "") txt.Text = "未审核"; } else { txt.Text = strVal; } } //自定义仓库 if (colType is UcLookCk) { var txt = colType as UcLookCk; txt.SetIdOrCode(strVal); if (txt.IsReadly == false) txt.Enabled = !isEdt; else txt.Enabled = false; continue; } //自定义供应商 if (colType is UcLookSupplier) { var txt = colType as UcLookSupplier; txt.SetIdOrCode(strVal); if (txt.IsReadly == false) txt.Enabled = !isEdt; else txt.Enabled = false; continue; } //自定义物料 if (colType is UcLookItems) { var txt = colType as UcLookItems; txt.SetIdOrCode(strVal); if (txt.IsReadly == false) txt.Enabled = !isEdt; else txt.Enabled = false; continue; } //自定车间 if (colType is UcLookWorkshop) { var txt = colType as UcLookWorkshop; txt.SetIdOrCode(strVal); if (txt.IsReadly == false) txt.Enabled = !isEdt; else txt.Enabled = false; continue; } //自定产线 if (colType is UcLookWorkline) { var txt = colType as UcLookWorkline; txt.SetIdOrCode(strVal); if (txt.IsReadly == false) txt.Enabled = !isEdt; else txt.Enabled = false; continue; } //自定单位 if (colType is UcLookUnit) { var txt = colType as UcLookUnit; txt.SetIdOrCode(strVal); if (txt.IsReadly == false) txt.Enabled = !isEdt; else txt.Enabled = false; continue; } //自定客户 if (colType is UcLookCustomer) { var txt = colType as UcLookCustomer; txt.SetIdOrCode(strVal); if (txt.IsReadly == false) txt.Enabled = !isEdt; else txt.Enabled = false; continue; } //自定员工 if (colType is UcLookStaff) { var txt = colType as UcLookStaff; txt.SetIdOrCode(strVal); if (txt.IsReadly == false) txt.Enabled = !isEdt; else txt.Enabled = false; continue; } //自定组织 if (colType is UcLookOrg) { var txt = colType as UcLookOrg; txt.SetIdOrCode(strVal); if (txt.IsReadly == false) txt.Enabled = !isEdt; else txt.Enabled = false; continue; } //自定用户 if (colType is UcLookUser) { var txt = colType as UcLookUser; txt.SetIdOrCode(strVal); if (txt.IsReadly == false) txt.Enabled = !isEdt; else txt.Enabled = false; continue; } //自定打印机 if (colType is UcLookPrint) { var txt = colType as UcLookPrint; txt.SetIdOrCode(strVal); if (txt.IsReadly == false) txt.Enabled = !isEdt; else txt.Enabled = false; continue; } //自定缺陷类别 if (colType is UcLookDefectType) { var txt = colType as UcLookDefectType; txt.SetIdOrCode(strVal); if (txt.IsReadly == false) txt.Enabled = !isEdt; else txt.Enabled = false; continue; } //自定部门 if (colType is UcLookDepartment) { var txt = colType as UcLookDepartment; txt.SetIdOrCode(strVal); if (txt.IsReadly == false) txt.Enabled = !isEdt; else txt.Enabled = false; continue; } //自定daa if (colType is UcLookDaa) { var txt = colType as UcLookDaa; txt.SetIdOrCode(strVal); if (txt.IsReadly == false) txt.Enabled = !isEdt; else txt.Enabled = false; continue; } //自定委外 if (colType is UcLookWwgd) { var txt = colType as UcLookWwgd; txt.SetIdOrCode(strVal); if (txt.IsReadly == false) txt.Enabled = !isEdt; else txt.Enabled = false; continue; } //自定销售 if (colType is UcLookSales) { var txt = colType as UcLookSales; txt.SetIdOrCode(strVal); if (txt.IsReadly == false) txt.Enabled = !isEdt; else txt.Enabled = false; continue; } if (colType is SimpleButton) { var txt = colType as SimpleButton; txt.Enabled = !isEdt; continue; } //自定不良 if (colType is UcDictionary) { var txt = colType as UcDictionary; txt.TextTxt = (strVal); //if (txt.IsReadly == false) // txt.Enabled = !isEdt; //else // txt.Enabled = false; continue; } } } catch (Exception ex) { MessageBox.Show(ex.Message); } } foreach (Control ctrl in controls) { if (ctrl is TextEdit) { var txt = ctrl as TextEdit; bool _bl = _isRead(txt.Tag, isEdt); txt.ReadOnly = _bl; // txt.ReadOnly = isEdt; continue; } } } /// /// 清空容器里面的控件 /// /// controls:为groupBox1.Controls/panel1.Controls /// 是否可编辑 /// 关联的grid public static void CleanValueByControl(ControlCollection controls, bool isEdt, List gridViews = null) { isEdt = !isEdt; if (gridViews != null) { foreach (var gv in gridViews) { foreach (GridColumn colmn in gv.Columns) { colmn.OptionsColumn.AllowEdit = true; if (colmn.Name.ToString().Contains("gvMxDel") || colmn.Name.ToString().Contains("gvMxTui")) { colmn.Visible = !isEdt; } else { if (isEdt == false) { if (colmn.Tag != null && colmn.Tag.ToString().EndsWith("edit")) colmn.OptionsColumn.ReadOnly = isEdt; else colmn.OptionsColumn.ReadOnly = !isEdt; } else colmn.OptionsColumn.ReadOnly = isEdt; } } } } foreach (Control ctrl in controls) { //多行文本 if (ctrl is MemoEdit) { var txt = ctrl as MemoEdit; if (txt.Tag != null && txt.Tag.ToString().Length > 0 && txt.Tag.ToString().StartsWith("moren")) { txt.Text = txt.Tag.ToString().Replace("moren.", ""); } else txt.Text = ""; if (_isRead(txt.Tag)) { txt.ReadOnly = true; } else txt.ReadOnly = isEdt; continue; } //下拉 if (ctrl is ComboBoxEdit) { var txt = ctrl as ComboBoxEdit; if (txt.Properties.TextEditStyle == TextEditStyles.DisableTextEditor) txt.SelectedIndex = 0; else txt.Text = ""; txt.ReadOnly = isEdt; continue; } //自定义的下拉 if (ctrl is UcComBox) { var txt = ctrl as UcComBox; txt.Val = "0"; txt.Enabled = !isEdt; continue; } //文本 if (ctrl is TextEdit) { var txt = ctrl as TextEdit; if (txt.Tag != null && txt.Tag.ToString().Length > 0 && txt.Tag.ToString().StartsWith("moren")) { txt.Text = txt.Tag.ToString().Replace("moren.", ""); } else txt.Text = ""; if (_isRead(txt.Tag)) { txt.ReadOnly = true; } else txt.ReadOnly = isEdt; continue; } //时间 if (ctrl is DateTimePicker) { var txt = ctrl as DateTimePicker; txt.Enabled = !isEdt; continue; } //单选 if (ctrl is CheckBox) { var txt = ctrl as CheckBox; txt.Enabled = !isEdt; txt.Checked = false; } if (ctrl is CheckEdit) { var txt = ctrl as CheckEdit; if (_isRead(txt.Tag)) { txt.ReadOnly = true; } else txt.ReadOnly = isEdt; continue; } //自定义仓库 if (ctrl is UcLookCk) { var txt = ctrl as UcLookCk; txt.SetIdOrCode("-1"); txt.Enabled = !isEdt; continue; } //自定义供应商 if (ctrl is UcLookSupplier) { var txt = ctrl as UcLookSupplier; txt.SetIdOrCode("-1"); txt.Enabled = !isEdt; continue; } //自定义物料 if (ctrl is UcLookItems) { var txt = ctrl as UcLookItems; txt.SetIdOrCode("-1"); txt.Enabled = !isEdt; continue; } //自定车间 if (ctrl is UcLookWorkshop) { var txt = ctrl as UcLookWorkshop; txt.SetIdOrCode("-1"); txt.Enabled = !isEdt; continue; } //自定产线 if (ctrl is UcLookWorkline) { var txt = ctrl as UcLookWorkline; txt.SetIdOrCode("-1"); txt.Enabled = !isEdt; continue; } //自定单位 if (ctrl is UcLookUnit) { var txt = ctrl as UcLookUnit; txt.SetIdOrCode("-1"); txt.Enabled = !isEdt; continue; } //自定客户 if (ctrl is UcLookCustomer) { var txt = ctrl as UcLookCustomer; txt.SetIdOrCode("-1"); txt.Enabled = !isEdt; continue; } //自定客户 if (ctrl is UcLookStaff) { var txt = ctrl as UcLookStaff; txt.SetIdOrCode("-1"); txt.Enabled = !isEdt; continue; } //自定组织 if (ctrl is UcLookOrg) { var txt = ctrl as UcLookOrg; txt.SetIdOrCode("-1"); txt.Enabled = !isEdt; continue; } //自定用户 if (ctrl is UcLookUser) { var txt = ctrl as UcLookUser; txt.SetIdOrCode("-1"); txt.Enabled = !isEdt; continue; } //自定打印机 if (ctrl is UcLookPrint) { var txt = ctrl as UcLookPrint; txt.SetIdOrCode("-1"); txt.Enabled = !isEdt; continue; } //自定缺陷类别 if (ctrl is UcLookDefectType) { var txt = ctrl as UcLookDefectType; txt.SetIdOrCode("-1"); txt.Enabled = !isEdt; continue; } //自定部门 if (ctrl is UcLookDepartment) { var txt = ctrl as UcLookDepartment; txt.SetIdOrCode("-1"); txt.Enabled = !isEdt; continue; } //自定daa if (ctrl is UcLookDaa) { var txt = ctrl as UcLookDaa; txt.SetIdOrCode("-1"); txt.Enabled = !isEdt; continue; } //自定委外 if (ctrl is UcLookWwgd) { var txt = ctrl as UcLookWwgd; txt.SetIdOrCode("-1"); txt.Enabled = !isEdt; continue; } //自定销售 if (ctrl is UcLookSales) { var txt = ctrl as UcLookSales; txt.SetIdOrCode("-1"); txt.Enabled = !isEdt; continue; } if (ctrl is SimpleButton) { var txt = ctrl as SimpleButton; txt.Enabled = !isEdt; continue; } } } /// /// 禁用或启用容器里面的控件 /// /// controls:为groupBox1.Controls/panel1.Controls /// /// public static void ChangeEnableByControl(ControlCollection controls, bool isEdt, List gridViews = null) { isEdt = !isEdt; if (gridViews != null) { foreach (var gv in gridViews) { foreach (GridColumn colmn in gv.Columns) { colmn.OptionsColumn.AllowEdit = true; if (colmn.Name.ToString().Contains("gvMxDel") || colmn.Name.ToString().Contains("gvMxTui")) { colmn.Visible = !isEdt; } else { if (colmn.Tag != null && colmn.Tag.ToString().EndsWith("edit")) colmn.OptionsColumn.ReadOnly = isEdt; else colmn.OptionsColumn.ReadOnly = isEdt; } } } } foreach (Control ctrl in controls) { //文本 if (ctrl is TextEdit) { var txt = ctrl as TextEdit; if (_isRead(txt.Tag)) { txt.ReadOnly = true; } else txt.ReadOnly = isEdt; continue; } if (ctrl is MemoEdit) { var txt = ctrl as MemoEdit; if (_isRead(txt.Tag)) { txt.ReadOnly = true; } else txt.ReadOnly = isEdt; continue; } //数字卡 if (ctrl is NumericUpDown) { var txt = ctrl as NumericUpDown; txt.ReadOnly = isEdt; continue; } //下拉 if (ctrl is UcComBox) { var txt = ctrl as UcComBox; txt.Val = "0"; txt.Enabled = !isEdt; continue; } //日期 if (ctrl is DateTimePicker) { ctrl.Enabled = !isEdt; continue; } //单选 if (ctrl is CheckBox) { ctrl.Enabled = !isEdt; continue; } // if (ctrl is CheckEdit) { var txt = ctrl as CheckEdit; txt.ReadOnly = isEdt; continue; } //自定义仓库 if (ctrl is UcLookCk) { var txt = ctrl as UcLookCk; if (txt.IsReadly == false) txt.Enabled = !isEdt; else txt.Enabled = false; continue; } //自定义供应商 if (ctrl is UcLookSupplier) { var txt = ctrl as UcLookSupplier; if (txt.IsReadly == false) txt.Enabled = !isEdt; else txt.Enabled = false; continue; } //自定义物料 if (ctrl is UcLookItems) { var txt = ctrl as UcLookItems; if (txt.IsReadly == false) txt.Enabled = !isEdt; else txt.Enabled = false; continue; } //自定义车间 if (ctrl is UcLookWorkshop) { var txt = ctrl as UcLookWorkshop; if (txt.IsReadly == false) txt.Enabled = !isEdt; else txt.Enabled = false; continue; } //自定义产线 if (ctrl is UcLookWorkline) { var txt = ctrl as UcLookWorkline; if (txt.IsReadly == false) txt.Enabled = !isEdt; else txt.Enabled = false; continue; } //自定义单位 if (ctrl is UcLookUnit) { var txt = ctrl as UcLookUnit; if (txt.IsReadly == false) txt.Enabled = !isEdt; else txt.Enabled = false; continue; } //自定义客户 if (ctrl is UcLookCustomer) { var txt = ctrl as UcLookCustomer; if (txt.IsReadly == false) txt.Enabled = !isEdt; else txt.Enabled = false; continue; } //自定义员工 if (ctrl is UcLookStaff) { var txt = ctrl as UcLookStaff; if (txt.IsReadly == false) txt.Enabled = !isEdt; else txt.Enabled = false; continue; } //自定组织 if (ctrl is UcLookOrg) { var txt = ctrl as UcLookOrg; if (txt.IsReadly == false) txt.Enabled = !isEdt; else txt.Enabled = false; continue; } //自定用户 if (ctrl is UcLookUser) { var txt = ctrl as UcLookUser; if (txt.IsReadly == false) txt.Enabled = !isEdt; else txt.Enabled = false; continue; } //自定打印 if (ctrl is UcLookPrint) { var txt = ctrl as UcLookPrint; if (txt.IsReadly == false) txt.Enabled = !isEdt; else txt.Enabled = false; continue; } //自定缺陷类别 if (ctrl is UcLookDefectType) { var txt = ctrl as UcLookDefectType; if (txt.IsReadly == false) txt.Enabled = !isEdt; else txt.Enabled = false; continue; } //自定部门 if (ctrl is UcLookDepartment) { var txt = ctrl as UcLookDepartment; if (txt.IsReadly == false) txt.Enabled = !isEdt; else txt.Enabled = false; continue; } //自定daa if (ctrl is UcLookDaa) { var txt = ctrl as UcLookDaa; if (txt.IsReadly == false) txt.Enabled = !isEdt; else txt.Enabled = false; continue; } //自定委外 if (ctrl is UcLookWwgd) { var txt = ctrl as UcLookWwgd; if (txt.IsReadly == false) txt.Enabled = !isEdt; else txt.Enabled = false; continue; } //自定销售 if (ctrl is UcLookSales) { var txt = ctrl as UcLookSales; if (txt.IsReadly == false) txt.Enabled = !isEdt; else txt.Enabled = false; continue; } if (ctrl is SimpleButton) { var txt = ctrl as SimpleButton; txt.Enabled = !isEdt; continue; } } } private static bool _isRead(object obj, bool isEdt = false) { ///永远是只读的 if (obj != null && obj.ToString().ToUpper() == ("readOnly".ToUpper())) { return true; } ///永远是可写的 if (obj != null && obj.ToString().ToUpper() == ("readOnly-1".ToUpper())) { return false; } return isEdt; } /// /// tab跳转:0查看,1退出,2删除,3修改,4新增加,6保存后 /// /// /// 0查看,1退出,2删除,3修改,4新增加,6保存后 public static void JumpTab(XtraTabControl tabControl, int action) { if (action == 0) { tabControl.TabPages[0].PageEnabled = true; tabControl.TabPages[1].PageEnabled = true; tabControl.SelectedTabPageIndex = 1; return; } if (action == 1) { tabControl.TabPages[0].PageEnabled = true; tabControl.TabPages[1].PageEnabled = true; tabControl.SelectedTabPageIndex = 0; return; } if (action == 2) { tabControl.TabPages[0].PageEnabled = true; tabControl.TabPages[1].PageEnabled = true; tabControl.SelectedTabPageIndex = 0; return; } if (action == 3) { tabControl.TabPages[0].PageEnabled = false; tabControl.TabPages[1].PageEnabled = true; tabControl.SelectedTabPageIndex = 1; return; } if (action == 4) { tabControl.TabPages[0].PageEnabled = false; tabControl.TabPages[1].PageEnabled = true; tabControl.SelectedTabPageIndex = 1; return; } if (action == 5) { tabControl.TabPages[0].PageEnabled = true; tabControl.TabPages[1].PageEnabled = true; tabControl.SelectedTabPageIndex = 1; return; } if (action == 6) { tabControl.TabPages[0].PageEnabled = true; tabControl.TabPages[1].PageEnabled = true; return; } } /// /// TreeView联动选择 /// /// public static void TreeViewCheck(TreeViewEventArgs e) { try { if (e.Node.Nodes.Count > 0) foreach (TreeNode tn in e.Node.Nodes) { tn.Checked = e.Node.Checked; foreach (TreeNode x in tn.Nodes) { x.Checked = e.Node.Checked; foreach (TreeNode y in x.Nodes) y.Checked = e.Node.Checked; } } if (e.Node.Checked && e.Node.Parent != null && e.Node.Parent.Nodes.Count > 0) { var currentNode = e.Node; while (currentNode != null) { currentNode.Checked = e.Node.Checked; currentNode = currentNode.Parent; } } } catch (Exception ex) { MsgHelper.ShowError(ex.Message); } } /// /// 转驼峰命名 /// /// /// public static string ToCamelCase(string strItem) { //如果包含小写,但不包含下划线 var hasLowercase = Regex.IsMatch(strItem, @"[a-z]"); if (hasLowercase && !strItem.Contains("_")) { var chars = strItem.ToCharArray(); chars[0] = char.ToLower(chars[0]); return new string(chars); } var strItems = strItem.ToLower().Split('_'); var strItemTarget = strItems[0]; for (var j = 1; j < strItems.Length; j++) { var temp = strItems[j]; var temp1 = temp[0].ToString().ToUpper(); var temp2 = ""; temp2 = temp1 + temp.Remove(0, 1); strItemTarget += temp2; } return strItemTarget; } /// /// 转Guid /// /// /// public static Guid ToGuid(string str) { if (string.IsNullOrEmpty(str)) return Guid.Empty; return Guid.Parse(str); } public static decimal ToDecimal(string str) { try { return decimal.Parse(str); } catch (Exception) { return 0; } } public static decimal? GetDecimal(string s) { if (string.IsNullOrEmpty(s)) return null; return decimal.Parse(s); } public static int ToInt(string str) { try { return int.Parse(str); } catch (Exception) { return 0; } } public static long ToLong(string str) { try { return long.Parse(str); } catch (Exception) { return 0; } } public static int ToBit(string str) { if (str.ToUpper() == "true".ToUpper()) return 1; return 0; } public static bool ToBoole(string str) { if (str.ToUpper() == "true".ToUpper()) return true; return false; } /// /// 读取grid的当前行 /// /// /// 编辑框中的主键名 /// 编辑框中的文本框名 /// /// /// public static (string, string) GetCurrentRow( XtraTabControl xtraTabControl1 , Label lbGuid , TextEdit txtName , GridView gridView1 , string fileName = "" , int SelectedTabPageIndex = 1) { var _strGuid = ""; var _strName = ""; if (xtraTabControl1.SelectedTabPageIndex == SelectedTabPageIndex && lbGuid.Text.Length > 10) { _strGuid = lbGuid.Text.Trim(); _strName = txtName.Text.Trim(); } else { var dr = gridView1.GetFocusedDataRow(); if (dr == null || string.IsNullOrEmpty(dr["guid"].ToString())) { } else { _strGuid = dr["guid"].ToString(); if (string.IsNullOrEmpty(fileName)) _strName = dr[1].ToString(); else _strName = dr[fileName].ToString(); } } return (_strGuid, _strName); } /// /// 读取TreeView的当前行 /// /// /// /// /// /// /// public static (string, string) GetCurrentRow( XtraTabControl xtraTabControl1 , Label lbGuid , TextEdit txtName , TreeView tlMenu , int SelectedTabPageIndex = 1) { var _strGuid = ""; var _strName = ""; if (xtraTabControl1.SelectedTabPageIndex == SelectedTabPageIndex && lbGuid.Text.Length > 10) { _strGuid = lbGuid.Text.Trim(); _strName = txtName.Text.Trim(); } else { var clickedNode = tlMenu.SelectedNode; if (clickedNode != null) { _strGuid = clickedNode.Name; _strName = clickedNode.Text.Trim(); } } return (_strGuid, _strName); } /// /// 读取TreeList的当前行 /// /// /// /// /// /// /// public static (string, string) GetCurrentRow( XtraTabControl xtraTabControl1 , Label lbGuid , TextEdit txtName , TreeList tlMenu , int SelectedTabPageIndex = 1) { var _strGuid = ""; var _strName = ""; if (xtraTabControl1.SelectedTabPageIndex == SelectedTabPageIndex && lbGuid.Text.Length > 10) { _strGuid = lbGuid.Text.Trim(); _strName = txtName.Text.Trim(); } else { _strGuid = tlMenu.FocusedNode.GetValue("guid").ToString(); _strName = tlMenu.FocusedNode.GetValue(0).ToString(); } return (_strGuid, _strName); } /// /// 读取GridView双击的主键 /// /// /// /// /// public static string GetCurrentDoubleRow(GridView gridView1 , MouseEventArgs e , string colName) { var info = gridView1.CalcHitInfo(e.Location); if (info.InRow) { var view = info.View; if (view != null) { var row = view.GetDataRow(info.RowHandle); if (row != null) { var rowGuid = row[colName].ToString(); return rowGuid; } } } return ""; } /// /// 读取GridView双击的主键 /// /// /// /// /// public static string GetCurrentDoubleRow(TreeList tlMenu , MouseEventArgs e , string colName) { var info = tlMenu.CalcHitInfo(e.Location); if (info.Node != null) { var clickedNode = tlMenu.FocusedNode; if (clickedNode.FirstNode == null) { var rowGuid = clickedNode.GetValue(colName).ToString(); return rowGuid; } } return ""; } /// /// /// /// /// /// /// 对应的审核字段名称 /// public static void SetCheckIco(object s, PictureBox btnChkIco, Form fm, string fileName = "checkStatus", string icoName = "") { GridView dgv = s as GridView; if (dgv != null) { if (dgv.GetSelectedRows() != null && dgv.GetSelectedRows().Count() > 0) { var selectedRow = dgv.GetSelectedRows()[0]; // 获取第一个选中行的索引 if (selectedRow >= 0) { var checkStatus = dgv.GetRowCellValue(selectedRow, fileName).ToString(); // 获取指定列的值 btnChkIco.Text = checkStatus; btnChkIco.Visible = true; if (checkStatus == "1" || checkStatus.ToUpper() == true.ToString().ToUpper() || checkStatus == "已审核") { btnChkIco.Image = global::Gs.DevApp.Properties.Resources.ico_check; btnChkIco.Tag = "已审核"; } else { btnChkIco.Image = global::Gs.DevApp.Properties.Resources.ico_noCheck; btnChkIco.Tag = "未审核"; } btnChkIco.Anchor = AnchorStyles.Top | AnchorStyles.Right; // 靠右 btnChkIco.Location = new Point(fm.ClientSize.Width - btnChkIco.Width - 20, 25); // 距离顶部10像素 } } } } /// /// /// /// /// chk字段 /// chk user /// chk date /// /// 当前窗体 /// 1为审核,0为反审核 /// public static void SetCheckIco(GridView gridView1, string zdChk, string zdChkUser, string zdCkDate, PictureBox btnChkIco, Form fm, string fileName, string icoName = "") { btnChkIco.Anchor = AnchorStyles.Top | AnchorStyles.Right; // 靠右 btnChkIco.Location = new Point(fm.ClientSize.Width - btnChkIco.Width - 20, 80); // 距离顶部10像素 if (gridView1 == null) { btnChkIco.Visible = true; if (fileName == "1") { btnChkIco.Image = global::Gs.DevApp.Properties.Resources.ico_check; btnChkIco.Tag = "已审核"; } else { btnChkIco.Image = global::Gs.DevApp.Properties.Resources.ico_noCheck; btnChkIco.Tag = "未审核"; } return; } if (fileName == "1" || fileName.ToUpper() == true.ToString().ToUpper()) { btnChkIco.Image = global::Gs.DevApp.Properties.Resources.ico_check; btnChkIco.Tag = "已审核"; if (!string.IsNullOrEmpty(zdChkUser)) gridView1.SetFocusedRowCellValue(zdChkUser, "已审核"); if (!string.IsNullOrEmpty(zdCkDate)) gridView1.SetFocusedRowCellValue(zdCkDate, DateTime.Now.ToString()); if (!string.IsNullOrEmpty(zdChk)) gridView1.SetFocusedRowCellValue(zdChk, true); } else { btnChkIco.Image = global::Gs.DevApp.Properties.Resources.ico_noCheck; btnChkIco.Tag = "未审核"; if (!string.IsNullOrEmpty(zdChkUser)) gridView1.SetFocusedRowCellValue(zdChkUser, ""); if (!string.IsNullOrEmpty(zdCkDate)) gridView1.SetFocusedRowCellValue(zdCkDate, ""); if (!string.IsNullOrEmpty(zdChk)) gridView1.SetFocusedRowCellValue(zdChk, false); } } #region 设置搜索 public static FilterEntity getFilterEntityWord(string id, string idDec, string val, string type) { return new FilterEntity(id, idDec + ")", " like ", "包含)", "%" + val + "%", type); } public static List GetDilter(GridColumnCollection Columns, GridView gridView1 = null) { List fiList = new List(); if (gridView1 != null) { bool b = gridView1.ActiveFilterEnabled; if (b == false) return fiList; } foreach (DevExpress.XtraGrid.Columns.GridColumn col in Columns) { ColumnFilterInfo filter = col.FilterInfo; if (string.IsNullOrEmpty(filter.FilterString)) continue; // fiList.Add(new FilterEntity("b.FNumber", "使用组织", " like ", "包含", "%" + filter.Value + "%")); string[] ddd = filter.FilterString.Replace("Contains", "").Replace("(", "").Replace(")", "").Replace("'", "").Replace("'", "").Split(','); //Contains([fSubsidiary], '005') fiList.Add(getFilterEntityWord(col.Tag.ToString(), col.Caption.Trim(), ddd[1].Trim(), col.UnboundExpression)); } return fiList; } /// /// 根据过滤器,读取查询条件,org表为组织 /// /// /// public static string GetSearchWhere(List _filterList) { var _sbSqlWhere = new StringBuilder(); foreach (var itm in _filterList) { if (itm.fileId.ToUpper().Contains("org".ToUpper())) { if (IsNumeric(itm.fileValue.Replace("%", ""))) _sbSqlWhere.Append(" and org.FNumber " + itm.fileOper + "'" + itm.fileValue + "'"); else { _sbSqlWhere.Append(" and org.NAME " + itm.fileOper + "'" + itm.fileValue.Trim() + "'"); } } else { switch (itm.fileType) { case "时间类型": _sbSqlWhere.Append(" and CONVERT(nvarchar(30)," + itm.fileId + ",23)" + itm.fileOper + "'" + itm.fileValue + "'"); break; //case "数值类型": // _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" + itm.fileValue + "'"); // break; default: _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" + itm.fileValue + "'"); break; } } } return _sbSqlWhere.ToString(); } public delegate void DelegateGetModel(string guid); public delegate void DelegateGetList(int currentPage); /// /// 设置主表的样式 /// /// gridview /// 图标按钮 /// /// 字段 /// 图标路径 /// public static void SetGridViewParameter(GridView gridView1, PictureBox picCheckBox = null, Form fm = null, string fileName = "checkStatus", string icoName = "", DelegateGetModel action = null) { gridView1.PopupMenuShowing += (s, e) => { if (e.MenuType == DevExpress.XtraGrid.Views.Grid.GridMenuType.Column) { GridViewColumnMenu menu = e.Menu as GridViewColumnMenu; if (menu != null) { string[] ary = { "Column Chooser", "Hide This Column", "Clear All Sorting", "Clear Sorting", "Sort Descending", "Sort Ascending", "Best Fit (all columns)" }; for (int i = menu.Items.Count - 1; i >= 0; i--) { string _caption = menu.Items[i].Caption; if (!ary.Contains(_caption)) { menu.Items.Remove(menu.Items[i]); } } } } }; gridView1.OptionsView.ShowGroupPanel = false; gridView1.OptionsCustomization.AllowGroup = false; // gridView1.Appearance.HeaderPanel.ForeColor = DevExpress.LookAndFeel.DXSkinColors.ForeColors.ControlText; gridView1.OptionsView.ColumnAutoWidth = false;//自动调整列宽 foreach (GridColumn column in gridView1.Columns) { column.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near; column.OptionsColumn.AllowEdit = true; // column.OptionsFilter.AutoFilterCondition = AutoFilterCondition.Contains; column.OptionsFilter.AutoFilterCondition = DevExpress.XtraGrid.Columns.AutoFilterCondition.Contains; column.OptionsFilter.ImmediateUpdateAutoFilter = false; if (column.Tag == null || column.Tag.ToString().EndsWith("edit")) column.OptionsColumn.ReadOnly = false; else column.OptionsColumn.ReadOnly = true; if (column.Tag == null || column.Tag.ToString().Length <= 0) column.OptionsFilter.AllowAutoFilter = false; } gridView1.OptionsFilter.AllowAutoFilterConditionChange = DevExpress.Utils.DefaultBoolean.False; gridView1.OptionsView.ShowAutoFilterRow = true; gridView1.OptionsFilter.AllowFilterEditor = false; gridView1.OptionsFilter.ShowCustomFunctions = DevExpress.Utils.DefaultBoolean.False; gridView1.OptionsFilter.AllowColumnMRUFilterList = false; gridView1.OptionsFilter.AllowMRUFilterList = false; gridView1.OptionsCustomization.AllowFilter = false; gridView1.OptionsFind.ShowSearchNavButtons = false; gridView1.OptionsView.ShowGroupPanel = false; //是否显示底部的过滤条 // gridView1.OptionsView.ShowFilterPanelMode = DevExpress.XtraGrid.Views.Base.ShowFilterPanelMode.Never; gridView1.IndicatorWidth = 50; 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); }; if (picCheckBox != null) { gridView1.FocusedRowChanged += (s, e) => { UtilityHelper.SetCheckIco(s, picCheckBox, fm, fileName, icoName); }; } if (action != null) { gridView1.ShownEditor += (sender, e) => { DevExpress.XtraGrid.Views.Grid.GridView view = sender as DevExpress.XtraGrid.Views.Grid.GridView; view.ActiveEditor.DoubleClick += (ssssss, eeeeeee) => { int _handle = gridView1.FocusedRowHandle; if (_handle == -1) return; DataRow row = gridView1.GetDataRow(_handle); if (row == null) return; string _guid = row["guid"].ToString(); if (string.IsNullOrEmpty(_guid)) return; action(_guid); }; if (view.ActiveEditor is TextEdit) view.ActiveEditor.MouseUp += ActiveEditor_MouseUp; }; } gridView1.RowStyle += (s, e) => { //默认选中行不变色 gridView1.OptionsSelection.EnableAppearanceFocusedRow = false; //默认选中单元格不变色 gridView1.OptionsSelection.EnableAppearanceFocusedCell = false; if (e.RowHandle >= 0) { DataRow row = gridView1.GetDataRow(e.RowHandle); if (row == null) return; bool columnExists = row.Table.Columns.Contains("isRed"); if (columnExists == true) { string _isRed = row["isRed"].ToString(); if (_isRed == "1") { e.Appearance.ForeColor = Color.Tomato; } } // 设置焦点行的背景色 if (gridView1.GetRow(e.RowHandle) == gridView1.GetFocusedRow()) { e.Appearance.BackColor = Color.Azure; e.Appearance.BackColor2 = Color.LightSkyBlue; } //else if (gridView1.IsRowHotTracked(e.RowHandle)) //{ // // 设置鼠标悬停行的背景色 // e.Appearance.BackColor = Color.LightBlue; // e.Appearance.BackColor2 = Color.LightBlue; //} } }; } private static void ActiveEditor_MouseUp(object sender, MouseEventArgs e) { BaseEdit edit = sender as BaseEdit; edit.MouseUp -= ActiveEditor_MouseUp; edit.SelectAll(); } public static void SetGridLayout(GridView gridView1) { foreach (GridColumn column in gridView1.Columns) { if (column.Width > 500) column.Width = 500; } } /// /// 设置选项卡 /// /// /// /// /// /// public static void SetTabParameter(GridView gridView1, DevExpress.XtraTab.XtraTabControl xtraTabControl1, UcPageBar pageBar1, DelegateGetModel action = null, DelegateGetList page = null,Label lbGuid=null) { xtraTabControl1.SelectedPageChanged += (s, e) => { if (xtraTabControl1.SelectedTabPageIndex == 1) { int _handle = gridView1.FocusedRowHandle; bool _bl = xtraTabControl1.TabPages[0].PageEnabled; if (_bl == false) { return; }; if (_handle < 0) { xtraTabControl1.SelectedTabPageIndex = -1; Gs.DevApp.ToolBox.MsgHelper.ShowInformation("请选择你要显示的行!" + _handle.ToString() + "tag" + xtraTabControl1.SelectedTabPageIndex.ToString()); return; } DataRow row = gridView1.GetDataRow(_handle); if (row == null) { xtraTabControl1.SelectedTabPageIndex = -1; Gs.DevApp.ToolBox.MsgHelper.ShowInformation("请选择你要显示的行!" + _handle.ToString()); return; } string _guid = row["guid"].ToString(); if (string.IsNullOrEmpty(_guid)) { xtraTabControl1.SelectedTabPageIndex = -1; Gs.DevApp.ToolBox.MsgHelper.ShowInformation("请选择你要显示的行!" + _handle.ToString()); return; } action(_guid); } if (xtraTabControl1.SelectedTabPageIndex == 0) { page(pageBar1.CurrentPage); int rowHandle = 0; rowHandle = gridView1.LocateByValue(1, gridView1.Columns["guid"], lbGuid.Text); if (rowHandle < 0) rowHandle = 0; gridView1.FocusedRowHandle = rowHandle ; } }; } /// /// 设置明细grid样式 /// /// /// /// /// /// public static void SetGridViewParameterMx(GridView gridView1) { gridView1.PopupMenuShowing += (s, e) => { if (e.MenuType == DevExpress.XtraGrid.Views.Grid.GridMenuType.Column) { GridViewColumnMenu menu = e.Menu as GridViewColumnMenu; if (menu != null) { string[] ary = { "Column Chooser", "Hide This Column", "Clear All Sorting", "Clear Sorting", "Sort Descending", "Sort Ascending", "Best Fit (all columns)" }; for (int i = menu.Items.Count - 1; i >= 0; i--) { string _caption = menu.Items[i].Caption; if (!ary.Contains(_caption)) { menu.Items.Remove(menu.Items[i]); } } } } }; gridView1.OptionsView.ShowGroupPanel = false; gridView1.OptionsCustomization.AllowGroup = false; // gridView1.OptionsView.Alignment = DataGridViewContentAlignment.MiddleLeft; foreach (GridColumn column in gridView1.Columns) { // column.DefaultCellStyle.Alignment = true; column.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near; } gridView1.OptionsView.ColumnAutoWidth = false;//自动调整列宽 gridView1.OptionsFilter.AllowFilterEditor = false; gridView1.OptionsFilter.ShowCustomFunctions = DevExpress.Utils.DefaultBoolean.False; gridView1.OptionsCustomization.AllowFilter = false; gridView1.OptionsFind.ShowSearchNavButtons = false; gridView1.OptionsView.ShowAutoFilterRow = false; gridView1.OptionsView.ShowGroupPanel = false; gridView1.IndicatorWidth = 40; 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); }; gridView1.ValidatingEditor += (sender, e) => { //yz_quantity_0 GridView view = sender as GridView; if (view.FocusedColumn.Tag != null && view.FocusedColumn.Tag.ToString().StartsWith("yz_")) { string[] _ary = view.FocusedColumn.Tag.ToString().Split('_'); if (_ary.Length > 2) { if (_ary[2] == "0") { double price = 0; if (!Double.TryParse(e.Value as String, out price)) { e.Valid = false; e.ErrorText = "请输入正确的数字."; } return; } } } }; } #endregion public static bool IsNumeric(string str) { Regex regex = new Regex("^[0-9]+$"); return regex.IsMatch(str); } } /// /// 下拉框条目类 /// public class CboItemEntity { public CboItemEntity() { } public CboItemEntity(string val, string text, string fType = "") { Text = text; Value = val; FType = fType; } /// /// 显示值 /// public object Text { get; set; } = 0; /// /// 对象值 /// public object Value { get; set; } = ""; public object FType { get; set; } = ""; public override string ToString() { return Text.ToString(); } } /// /// 查询框 /// public class FilterEntity { /// /// /// 字段名 /// 字段名备注 /// 操作符 /// 操作符备注 /// public FilterEntity(string id, string idDec, string oper, string operDec, string val, string type) { fileId = id; fileIdDec = idDec; fileOper = oper; fileOperDec = operDec; fileValue = val; fileType = type; } public string fileId { get; set; } public string fileIdDec { get; set; } public string fileOper { get; set; } public string fileOperDec { get; set; } public string fileValue { get; set; } public string fileType { get; set; } } }