¶Ô±ÈÐÂÎļþ |
| | |
| | | using DevExpress.Utils; |
| | | using DevExpress.XtraEditors; |
| | | using DevExpress.XtraEditors.Controls; |
| | | using DevExpress.XtraEditors.Drawing; |
| | | using DevExpress.XtraGrid; |
| | | using DevExpress.XtraGrid.Columns; |
| | | using DevExpress.XtraGrid.Menu; |
| | | using DevExpress.XtraGrid.Views.Grid; |
| | | using DevExpress.XtraGrid.Views.Grid.ViewInfo; |
| | | using DevExpress.XtraTab; |
| | | using DevExpress.XtraTreeList; |
| | | using Gs.DevApp.Entity; |
| | | using Gs.DevApp.UserControl; |
| | | using Newtonsoft.Json; |
| | | using Newtonsoft.Json.Linq; |
| | | 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.Reflection; |
| | | using System.Resources; |
| | | using System.Text; |
| | | using System.Text.RegularExpressions; |
| | | using System.Windows.Forms; |
| | | using System.Windows.Forms.VisualStyles; |
| | | using UserControls.Data; |
| | | using static System.Windows.Forms.Control; |
| | | |
| | | |
| | | namespace Gs.DevApp.ToolBox |
| | | { |
| | | /// <summary> |
| | | /// éç¨ç±» |
| | | /// </summary> |
| | | public class UtilityHelper |
| | | { |
| | | private static readonly string WebApiUrl = |
| | | ConfigurationManager.AppSettings["WebApiUrl"]; |
| | | |
| | | /// <summary> |
| | | /// 读åå è½½ä¿¡æ¯ |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | |
| | | public static (Size, string, Color, Padding) getLoading() |
| | | { |
| | | Size _size = new Size(360, 90); |
| | | return (_size, "æ¼å½å è½½ä¸ï¼è¯·ç¨å...", System.Drawing.Color.LightSkyBlue, new Padding(15)); |
| | | } |
| | | /// <summary> |
| | | /// httpè¯·æ± |
| | | /// </summary> |
| | | /// <param name="url"></param> |
| | | /// <param name="meth"></param> |
| | | /// <param name="param"></param> |
| | | /// <param name="isLoading"></param> |
| | | /// <returns></returns> |
| | | public static string HttpPost(string url, string meth, string param, bool isLoading = true) |
| | | { |
| | | 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; |
| | | wdf.SetCaption("å è½½è¿åº¦:" + meth); |
| | | wdf.Visible = isLoading; |
| | | 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; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ ¹æ®å¾çå读åèµæºæä»¶,ä¸å¸¦åç¼å |
| | | /// </summary> |
| | | /// <param name="imageName"></param> |
| | | /// <param name="lay">1为大å¾</param> |
| | | /// <returns></returns> |
| | | 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; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// åå§åä¸ä¸ªè¡¨ |
| | | /// </summary> |
| | | /// <param name="gc"></param> |
| | | /// <param name="gv"></param> |
| | | 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(); |
| | | gv.BestFitColumns(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// çæè®¿é®æå¡çtoken |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public static string GetBasicAuthTicket() |
| | | { |
| | | var userGuid = |
| | | string.IsNullOrEmpty(LoginInfoModel.CurrentUser.LoginUserGuid) |
| | | ? Guid.NewGuid().ToString() |
| | | : LoginInfoModel.CurrentUser.LoginUserGuid; |
| | | var token = userGuid; |
| | | return token; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æå¡è¿åçjson转为ReturnModel-->å
å«TablePageåé¡µï¼ |
| | | /// </summary> |
| | | /// <param name="strReturn"></param> |
| | | /// <returns></returns> |
| | | public static ReturnModel<PageListModel> ReturnToTablePage( |
| | | string strReturn) |
| | | { |
| | | var rto = new ReturnModel<PageListModel>(); |
| | | 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<DataTable>(array.ToString()); |
| | | rto.rtnData.list = dt; |
| | | return rto; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æå¡è¿åçjsonè¿åReturnModelï¼ |
| | | /// </summary> |
| | | /// <param name="strReturn"></param> |
| | | /// <returns></returns> |
| | | public static ReturnModel<dynamic> ReturnToDynamic(string strReturn) |
| | | { |
| | | var rto = new ReturnModel<dynamic>(); |
| | | var json = JObject.Parse(strReturn); |
| | | rto.rtnCode = int.Parse(json["rtnCode"].ToString()); |
| | | rto.rtnMsg = json["rtnMsg"].ToString(); |
| | | rto.rtnData = json["rtnData"]; |
| | | return rto; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æå¡è¿åçjson串è¿åReturnModel-->ä»
ä»
ælist,ä¸åé¡µï¼ |
| | | /// </summary> |
| | | /// <param name="strReturn"></param> |
| | | /// <returns></returns> |
| | | public static ReturnModel<DataTable> ReturnToList(string strReturn) |
| | | { |
| | | var rto = new ReturnModel<DataTable>(); |
| | | 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); |
| | | //if (array.Count <=0) |
| | | // return null; |
| | | var dt = JsonConvert.DeserializeObject<DataTable>(array.ToString()); |
| | | rto.rtnData = dt; |
| | | return rto; |
| | | } |
| | | |
| | | |
| | | #region æ¹éå¤ç对åï¼ææ¬å¼ï¼å
嫿¸
空ï¼ç¦ç¨ï¼å¯ç¨ä¸ç§ |
| | | /// <summary> |
| | | /// æ ¹æ®å¯¹è±¡æ¹éè®¾ç½®ææ¬æ¡çå¼ |
| | | /// </summary> |
| | | /// <param name="controls">controls:为groupBox1.Controls/panel1.Controls</param> |
| | | /// <param name="dynamicObject">对å</param> |
| | | /// <param name="isEdt">æ¯å¦å¯ç¼è¾</param> |
| | | /// <param name="gridViews">å
³èçgrid</param> |
| | | public static void SetValueByObj(ControlCollection controls, |
| | | dynamic dynamicObject, bool isEdt, List<GridView> gridViews = null) |
| | | { |
| | | isEdt = !isEdt; |
| | | if (gridViews != null) |
| | | { |
| | | foreach (var gv in gridViews) |
| | | { |
| | | gv.ClearSorting(); |
| | | gv.OptionsCustomization.AllowSort = isEdt; |
| | | 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 ButtonEdit) |
| | | { |
| | | var txt = colType as ButtonEdit; |
| | | if (txt != null) |
| | | txt.Text = 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); |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®ä¹ä¾åºå |
| | | if (colType is UcLookSupplier) |
| | | { |
| | | var txt = colType as UcLookSupplier; |
| | | txt.SetIdOrCode(strVal); |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®ä¹ç©æ |
| | | if (colType is UcLookItems) |
| | | { |
| | | var txt = colType as UcLookItems; |
| | | txt.SetIdOrCode(strVal); |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®è½¦é´ |
| | | if (colType is UcLookWorkshop) |
| | | { |
| | | var txt = colType as UcLookWorkshop; |
| | | txt.SetIdOrCode(strVal); |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®äº§çº¿ |
| | | if (colType is UcLookWorkline) |
| | | { |
| | | var txt = colType as UcLookWorkline; |
| | | txt.SetIdOrCode(strVal); |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®åä½ |
| | | if (colType is UcLookUnit) |
| | | { |
| | | var txt = colType as UcLookUnit; |
| | | txt.SetIdOrCode(strVal); |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®å®¢æ· |
| | | if (colType is UcLookCustomer) |
| | | { |
| | | var txt = colType as UcLookCustomer; |
| | | txt.SetIdOrCode(strVal); |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®åå·¥ |
| | | if (colType is UcLookStaff) |
| | | { |
| | | var txt = colType as UcLookStaff; |
| | | txt.SetIdOrCode(strVal); |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®ç»ç» |
| | | if (colType is UcLookOrg) |
| | | { |
| | | var txt = colType as UcLookOrg; |
| | | txt.SetIdOrCode(strVal); |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®ç¨æ· |
| | | if (colType is UcLookUser) |
| | | { |
| | | var txt = colType as UcLookUser; |
| | | txt.SetIdOrCode(strVal); |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®æå°æº |
| | | if (colType is UcLookPrint) |
| | | { |
| | | var txt = colType as UcLookPrint; |
| | | txt.SetIdOrCode(strVal); |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®é¨é¨ |
| | | if (colType is UcLookDepartment) |
| | | { |
| | | var txt = colType as UcLookDepartment; |
| | | txt.SetIdOrCode(strVal); |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®daa |
| | | if (colType is UcLookDaa) |
| | | { |
| | | var txt = colType as UcLookDaa; |
| | | txt.SetIdOrCode(strVal); |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®å§å¤ |
| | | if (colType is UcLookWwgd) |
| | | { |
| | | var txt = colType as UcLookWwgd; |
| | | txt.SetIdOrCode(strVal); |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®éå® |
| | | if (colType is UcLookSales) |
| | | { |
| | | var txt = colType as UcLookSales; |
| | | txt.SetIdOrCode(strVal); |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | if (colType is SimpleButton) |
| | | { |
| | | var txt = colType as SimpleButton; |
| | | if (txt.Tag != null && txt.Tag.ToString() == "gvBtnAlawys") |
| | | txt.Enabled = true; |
| | | else |
| | | txt.Enabled = !isEdt; |
| | | continue; |
| | | } |
| | | //èªå®å·¥åº |
| | | if (colType is UcLookGx) |
| | | { |
| | | var txt = colType as UcLookGx; |
| | | txt.SetIdOrCode(strVal); |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®ä¸è¯ |
| | | if (colType is UcDictionary) |
| | | { |
| | | var txt = colType as UcDictionary; |
| | | txt.TextTxt = (strVal); |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®åæ®ç±»å䏿 |
| | | if (colType is UcDictionaryComBox) |
| | | { |
| | | var txt = colType as UcDictionaryComBox; |
| | | txt.TextTxt = (strVal); |
| | | txt.IsReadly = isEdt; |
| | | 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; |
| | | } |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ¸
空容å¨éé¢çæ§ä»¶ |
| | | /// </summary> |
| | | /// <param name="controls">controls:为groupBox1.Controls/panel1.Controls</param> |
| | | /// <param name="isEdt">æ¯å¦å¯ç¼è¾</param> |
| | | /// <param name="gridViews">å
³èçgrid</param> |
| | | public static void CleanValueByControl(ControlCollection controls, |
| | | bool isEdt, List<GridView> gridViews = null) |
| | | { |
| | | isEdt = !isEdt; |
| | | if (gridViews != null) |
| | | { |
| | | foreach (var gv in gridViews) |
| | | { |
| | | gv.ClearSorting(); |
| | | gv.OptionsCustomization.AllowSort = isEdt; |
| | | 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 ButtonEdit) |
| | | { |
| | | var txt = ctrl as ButtonEdit; |
| | | txt.Text = ""; |
| | | txt.Enabled = !isEdt; |
| | | txt.ReadOnly = 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.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®ä¹ä¾åºå |
| | | if (ctrl is UcLookSupplier) |
| | | { |
| | | var txt = ctrl as UcLookSupplier; |
| | | txt.SetIdOrCode("-1"); |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®ä¹ç©æ |
| | | if (ctrl is UcLookItems) |
| | | { |
| | | var txt = ctrl as UcLookItems; |
| | | txt.SetIdOrCode("-1"); |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®è½¦é´ |
| | | if (ctrl is UcLookWorkshop) |
| | | { |
| | | var txt = ctrl as UcLookWorkshop; |
| | | txt.SetIdOrCode("-1"); |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®äº§çº¿ |
| | | if (ctrl is UcLookWorkline) |
| | | { |
| | | var txt = ctrl as UcLookWorkline; |
| | | txt.SetIdOrCode("-1"); |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®åä½ |
| | | if (ctrl is UcLookUnit) |
| | | { |
| | | var txt = ctrl as UcLookUnit; |
| | | txt.SetIdOrCode("-1"); |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®å®¢æ· |
| | | if (ctrl is UcLookCustomer) |
| | | { |
| | | var txt = ctrl as UcLookCustomer; |
| | | txt.SetIdOrCode("-1"); |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®åå·¥ |
| | | if (ctrl is UcLookStaff) |
| | | { |
| | | var txt = ctrl as UcLookStaff; |
| | | txt.SetIdOrCode("-1"); |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®ç»ç» |
| | | if (ctrl is UcLookOrg) |
| | | { |
| | | var txt = ctrl as UcLookOrg; |
| | | txt.SetIdOrCode("-1"); |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®ç¨æ· |
| | | if (ctrl is UcLookUser) |
| | | { |
| | | var txt = ctrl as UcLookUser; |
| | | txt.SetIdOrCode("-1"); |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®æå°æº |
| | | if (ctrl is UcLookPrint) |
| | | { |
| | | var txt = ctrl as UcLookPrint; |
| | | txt.SetIdOrCode("-1"); |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | |
| | | //èªå®é¨é¨ |
| | | if (ctrl is UcLookDepartment) |
| | | { |
| | | var txt = ctrl as UcLookDepartment; |
| | | txt.SetIdOrCode("-1"); |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®daa |
| | | if (ctrl is UcLookDaa) |
| | | { |
| | | var txt = ctrl as UcLookDaa; |
| | | txt.SetIdOrCode("-1"); |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®å§å¤ |
| | | if (ctrl is UcLookWwgd) |
| | | { |
| | | var txt = ctrl as UcLookWwgd; |
| | | txt.SetIdOrCode("-1"); |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®éå® |
| | | if (ctrl is UcLookSales) |
| | | { |
| | | var txt = ctrl as UcLookSales; |
| | | txt.SetIdOrCode("-1"); |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®å·¥åº |
| | | if (ctrl is UcLookGx) |
| | | { |
| | | var txt = ctrl as UcLookGx; |
| | | txt.SetIdOrCode("-1"); |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®ä¸è¯ |
| | | if (ctrl is UcDictionary) |
| | | { |
| | | var txt = ctrl as UcDictionary; |
| | | txt.TextTxt = ""; |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®ä¹åæ®ç±»å䏿 |
| | | if (ctrl is UcDictionaryComBox) |
| | | { |
| | | var txt = ctrl as UcDictionaryComBox; |
| | | //txt.SetIdOrCode("-1"); |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | if (ctrl is SimpleButton) |
| | | { |
| | | var txt = ctrl as SimpleButton; |
| | | if (txt.Tag != null && txt.Tag.ToString() == "gvBtnAlawys") |
| | | txt.Enabled = true; |
| | | else |
| | | txt.Enabled = !isEdt; |
| | | continue; |
| | | } |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// ç¦ç¨æå¯ç¨å®¹å¨éé¢çæ§ä»¶ |
| | | /// </summary> |
| | | /// <param name="controls">controls:为groupBox1.Controls/panel1.Controls</param> |
| | | /// <param name="isEdt"></param> |
| | | /// <param name="gridViews"></param> |
| | | public static void ChangeEnableByControl(ControlCollection controls, |
| | | bool isEdt, List<GridView> gridViews = null) |
| | | { |
| | | isEdt = !isEdt; |
| | | if (gridViews != null) |
| | | { |
| | | foreach (var gv in gridViews) |
| | | { |
| | | gv.ClearSorting(); |
| | | gv.OptionsCustomization.AllowSort = isEdt; |
| | | 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 ComboBoxEdit) |
| | | { |
| | | var txt = ctrl as ComboBoxEdit; |
| | | txt.ReadOnly = isEdt; |
| | | continue; |
| | | } |
| | | if (ctrl is ButtonEdit) |
| | | { |
| | | var txt = ctrl as ButtonEdit; |
| | | txt.Enabled = !isEdt; |
| | | continue; |
| | | } |
| | | //ææ¬ |
| | | 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 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; |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®ä¹ä¾åºå |
| | | if (ctrl is UcLookSupplier) |
| | | { |
| | | var txt = ctrl as UcLookSupplier; |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®ä¹ç©æ |
| | | if (ctrl is UcLookItems) |
| | | { |
| | | var txt = ctrl as UcLookItems; |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®ä¹è½¦é´ |
| | | if (ctrl is UcLookWorkshop) |
| | | { |
| | | var txt = ctrl as UcLookWorkshop; |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®ä¹äº§çº¿ |
| | | if (ctrl is UcLookWorkline) |
| | | { |
| | | var txt = ctrl as UcLookWorkline; |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®ä¹åä½ |
| | | if (ctrl is UcLookUnit) |
| | | { |
| | | var txt = ctrl as UcLookUnit; |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®ä¹å®¢æ· |
| | | if (ctrl is UcLookCustomer) |
| | | { |
| | | var txt = ctrl as UcLookCustomer; |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®ä¹åå·¥ |
| | | if (ctrl is UcLookStaff) |
| | | { |
| | | var txt = ctrl as UcLookStaff; |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®ç»ç» |
| | | if (ctrl is UcLookOrg) |
| | | { |
| | | var txt = ctrl as UcLookOrg; |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®ç¨æ· |
| | | if (ctrl is UcLookUser) |
| | | { |
| | | var txt = ctrl as UcLookUser; |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®æå° |
| | | if (ctrl is UcLookPrint) |
| | | { |
| | | var txt = ctrl as UcLookPrint; |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®é¨é¨ |
| | | if (ctrl is UcLookDepartment) |
| | | { |
| | | var txt = ctrl as UcLookDepartment; |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®daa |
| | | if (ctrl is UcLookDaa) |
| | | { |
| | | var txt = ctrl as UcLookDaa; |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®å§å¤ |
| | | if (ctrl is UcLookWwgd) |
| | | { |
| | | var txt = ctrl as UcLookWwgd; |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®éå® |
| | | if (ctrl is UcLookSales) |
| | | { |
| | | var txt = ctrl as UcLookSales; |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®å·¥åº |
| | | if (ctrl is UcLookGx) |
| | | { |
| | | var txt = ctrl as UcLookGx; |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®ä¸è¯ |
| | | if (ctrl is UcDictionary) |
| | | { |
| | | var txt = ctrl as UcDictionary; |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | //èªå®åæ®ç±»å䏿 |
| | | if (ctrl is UcDictionaryComBox) |
| | | { |
| | | var txt = ctrl as UcDictionaryComBox; |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | if (ctrl is SimpleButton) |
| | | { |
| | | var txt = ctrl as SimpleButton; |
| | | if (txt.Tag != null && txt.Tag.ToString() == "gvBtnAlawys") |
| | | txt.Enabled = true; |
| | | else |
| | | txt.Enabled = !isEdt; |
| | | continue; |
| | | } |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | /// <summary> |
| | | /// 夿æ§ä»¶åªè¯»ç¶æ |
| | | /// </summary> |
| | | /// <param name="obj"></param> |
| | | /// <param name="isEdt"></param> |
| | | /// <returns></returns> |
| | | 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; |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// tab跳转ï¼0æ¥çï¼1éåºï¼2å é¤ï¼3ä¿®æ¹ï¼4æ°å¢å ,6ä¿åå |
| | | /// </summary> |
| | | /// <param name="tabControl"></param> |
| | | /// <param name="idx">0æ¥çï¼1éåºï¼2å é¤ï¼3ä¿®æ¹ï¼4æ°å¢å ,6ä¿åå</param> |
| | | 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; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// TreeViewèå¨éæ© |
| | | /// </summary> |
| | | /// <param name="e"></param> |
| | | 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); |
| | | } |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 转Guid |
| | | /// </summary> |
| | | /// <param name="str"></param> |
| | | /// <returns></returns> |
| | | 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 ToBit(string str) |
| | | { |
| | | if (str.ToUpper() == "true".ToUpper()) |
| | | return 1; |
| | | return 0; |
| | | } |
| | | |
| | | |
| | | public static bool ToCheck(string str) |
| | | { |
| | | if (str.ToUpper() == "true".ToUpper()) |
| | | return true; |
| | | if (str.ToUpper() == "1".ToUpper()) |
| | | return true; |
| | | return false; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 读ågridçå½åè¡ |
| | | /// </summary> |
| | | /// <param name="xtraTabControl1"></param> |
| | | /// <param name="lbGuid">ç¼è¾æ¡ä¸ç主é®å</param> |
| | | /// <param name="txtName">ç¼è¾æ¡ä¸çææ¬æ¡å</param> |
| | | /// <param name="gridView1"></param> |
| | | /// <param name="SelectedTabPageIndex"></param> |
| | | /// <returns></returns> |
| | | 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); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 读åTreeViewçå½åè¡ |
| | | /// </summary> |
| | | /// <param name="xtraTabControl1"></param> |
| | | /// <param name="lbGuid"></param> |
| | | /// <param name="txtName"></param> |
| | | /// <param name="tlMenu"></param> |
| | | /// <param name="SelectedTabPageIndex"></param> |
| | | /// <returns></returns> |
| | | 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); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 读åTreeListçå½åè¡ |
| | | /// </summary> |
| | | /// <param name="xtraTabControl1"></param> |
| | | /// <param name="lbGuid"></param> |
| | | /// <param name="txtName"></param> |
| | | /// <param name="tlMenu"></param> |
| | | /// <param name="SelectedTabPageIndex"></param> |
| | | /// <returns></returns> |
| | | 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); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 读åGridViewåå»çä¸»é® |
| | | /// </summary> |
| | | /// <param name="gridView1"></param> |
| | | /// <param name="e"></param> |
| | | /// <param name="colName"></param> |
| | | /// <returns></returns> |
| | | 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 ""; |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 读åGridViewåå»çä¸»é® |
| | | /// </summary> |
| | | /// <param name="gridView1"></param> |
| | | /// <param name="e"></param> |
| | | /// <param name="colName"></param> |
| | | /// <returns></returns> |
| | | 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 ""; |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | /// <param name="s"></param> |
| | | /// <param name="btnChkIco"></param> |
| | | /// <param name="fm"></param> |
| | | /// <param name="fileName">对åºçå®¡æ ¸åæ®µåç§°</param> |
| | | /// <param name="icoName"></param> |
| | | 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åç´ |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | /// <param name="gridView1"></param> |
| | | /// <param name="zdChk">chkåæ®µ</param> |
| | | /// <param name="zdChkUser">chk user</param> |
| | | /// <param name="zdCkDate">chk date</param> |
| | | /// <param name="btnChkIco"></param> |
| | | /// <param name="fm">å½åçªä½</param> |
| | | /// <param name="fileName">1ä¸ºå®¡æ ¸ï¼0为åå®¡æ ¸</param> |
| | | /// <param name="icoName"></param> |
| | | 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) |
| | | { |
| | | switch (type) |
| | | { |
| | | case "Bitç±»å": |
| | | string _val = (val.ToUpper() == "true".ToUpper() ? "1" : "0"); |
| | | return new FilterEntity(id, idDec + ")", "=", "çäº)", "" + _val + "", type); |
| | | break; |
| | | default: |
| | | return new FilterEntity(id, idDec + ")", "like", "å
å«)", "%" + val + "%", type); |
| | | break; |
| | | } |
| | | |
| | | } |
| | | public static List<FilterEntity> GetDilter(GridColumnCollection Columns, GridView gridView1 = null) |
| | | { |
| | | List<FilterEntity> fiList = new List<FilterEntity>(); |
| | | 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; |
| | | string _filterString = filter.FilterString.Replace("Contains", "").Replace("(", "").Replace(")", "").Replace("'", "").Replace("'", ""); |
| | | string[] ddd = _filterString.Split(','); |
| | | string _val = ""; |
| | | if (ddd.Length > 1) |
| | | { |
| | | _val = ddd[1].Trim(); |
| | | } |
| | | else |
| | | { |
| | | ddd = _filterString.Split('='); |
| | | _val = ddd[1].Trim(); |
| | | } |
| | | fiList.Add(getFilterEntityWord(col.Tag.ToString(), col.Caption.Trim(), _val, col.UnboundExpression)); |
| | | } |
| | | return fiList; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ ¹æ®è¿æ»¤å¨ï¼è¯»åæ¥è¯¢æ¡ä»¶,org表为ç»ç» |
| | | /// </summary> |
| | | /// <param name="_filterList"></param> |
| | | /// <returns></returns> |
| | | public static string GetSearchWhere(List<FilterEntity> _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 "Bitç±»å": |
| | | _sbSqlWhere.Append(" and isnull(" + itm.fileId + ",0) =" + 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); |
| | | /// <summary> |
| | | /// è®¾ç½®ä¸»è¡¨çæ ·å¼ |
| | | /// </summary> |
| | | /// <param name="gridView1">gridview</param> |
| | | /// <param name="picCheckBox">徿 æé®</param> |
| | | /// <param name="fm"></param> |
| | | /// <param name="fileName">åæ®µ</param> |
| | | /// <param name="icoName">徿 è·¯å¾</param> |
| | | /// <param name="action"></param> |
| | | public static void SetGridViewParameter(GridView gridView1, PictureBox picCheckBox = null, Form fm = null, string fileName = "checkStatus", string icoName = "", DelegateGetModel action = null, DevExpress.Utils.ToolTipController tips = null, bool isPostSearch = true) |
| | | { |
| | | 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.ColumnAutoWidth = false;//èªå¨è°æ´å宽 |
| | | |
| | | if (isPostSearch == true) |
| | | { |
| | | gridView1.OptionsView.ShowGroupPanel = false; |
| | | gridView1.OptionsCustomization.AllowGroup = 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.Appearance.HeaderPanel.ForeColor = DevExpress.LookAndFeel.DXSkinColors.ForeColors.ControlText; |
| | | foreach (GridColumn column in gridView1.Columns) |
| | | { |
| | | column.MinWidth = 10; |
| | | column.MaxWidth = 0; |
| | | |
| | | 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(isPostSearch==false) |
| | | // column.OptionsColumn.ReadOnly = true; |
| | | |
| | | if (isPostSearch == true) |
| | | { |
| | | if (column.Tag == null || column.Tag.ToString().Length <= 0) |
| | | column.OptionsFilter.AllowAutoFilter = false; |
| | | } |
| | | } |
| | | |
| | | gridView1.IndicatorWidth = 60; |
| | | 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; |
| | | //è¿æ¯dangerè² |
| | | bool columnExists = row.Table.Columns.Contains("isRed"); |
| | | if (columnExists == true) |
| | | { |
| | | string _isRed = row["isRed"].ToString(); |
| | | if (_isRed == "1") |
| | | { |
| | | e.Appearance.ForeColor = Color.Tomato; |
| | | } |
| | | } |
| | | //è¿æ¯successè² |
| | | columnExists = row.Table.Columns.Contains("isSuccess"); |
| | | if (columnExists == true) |
| | | { |
| | | string _isRed = row["isSuccess"].ToString(); |
| | | if (_isRed == "1") |
| | | { |
| | | e.Appearance.ForeColor = Color.FromArgb(128, 255, 128); |
| | | } |
| | | } |
| | | // 设置ç¦ç¹è¡çèæ¯è² |
| | | 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; |
| | | //} |
| | | } |
| | | }; |
| | | if (tips != null) |
| | | { |
| | | tips.Appearance.BackColor = Color.LightBlue; // è®¾ç½®èæ¯é¢è² |
| | | tips.Appearance.ForeColor = Color.Black; // è®¾ç½®åæ¯è²ï¼æåé¢è²ï¼ |
| | | gridView1.MouseMove += (s, e) => |
| | | { |
| | | try |
| | | { |
| | | GridHitInfo hi = gridView1.CalcHitInfo(new Point(e.X, e.Y)); |
| | | if (hi.InRowCell) |
| | | { |
| | | int cuRowHandle = hi.RowHandle; |
| | | if (cuRowHandle < 0) |
| | | return; |
| | | DataRow curRow = gridView1.GetDataRow(cuRowHandle); |
| | | var column = hi.Column; |
| | | string showTxt = curRow[column.FieldName].ToString(); |
| | | ToolTipControllerShowEventArgs aa = new ToolTipControllerShowEventArgs(); |
| | | aa.AllowHtmlText = DefaultBoolean.True; |
| | | aa.Title = column.Caption; //HTML, ç²ä½ |
| | | aa.ToolTip = showTxt; //æè¡ |
| | | aa.ShowBeak = true; |
| | | aa.Rounded = true; ////åè§ |
| | | aa.RoundRadius = 7; //åè§ç |
| | | // aa.ToolTipType = ToolTipType.SuperTip; //è¶
çº§æ ·å¼ï¼å¯å¤è¡ææ¾ç¤ºå¾æ |
| | | aa.ToolTipType = ToolTipType.Standard;//æ åæ ·å¼ï¼å¯æ¾ç¤ºé¸å´ã |
| | | aa.IconType = ToolTipIconType.Information; //æ¶æ¯å¾æ |
| | | aa.IconSize = ToolTipIconSize.Small; //大徿 |
| | | tips.ShowHint(aa); |
| | | } |
| | | else |
| | | tips.HideHint(); |
| | | } |
| | | catch (Exception exception) |
| | | { |
| | | } |
| | | }; |
| | | } |
| | | } |
| | | 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; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 设置éé¡¹å¡ |
| | | /// </summary> |
| | | /// <param name="gridView1"></param> |
| | | /// <param name="xtraTabControl1"></param> |
| | | /// <param name="pageBar1"></param> |
| | | /// <param name="action"></param> |
| | | /// <param name="page"></param> |
| | | 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 (pageBar1 != null && 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; |
| | | } |
| | | }; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 设置æç»gridæ ·å¼ |
| | | /// </summary> |
| | | /// <param name="gridView1"></param> |
| | | /// <param name="btnChkIco"></param> |
| | | /// <param name="fm"></param> |
| | | /// <param name="fileName"></param> |
| | | /// <param name="icoName"></param> |
| | | public static void SetGridViewParameterMx(GridView gridView1, DevExpress.Utils.ToolTipController tips = 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.OptionsView.Alignment = DataGridViewContentAlignment.MiddleLeft; |
| | | foreach (GridColumn column in gridView1.Columns) |
| | | { |
| | | // column.DefaultCellStyle.Alignment = true; |
| | | column.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near; |
| | | column.MinWidth = 10; |
| | | column.MaxWidth = 0; |
| | | } |
| | | 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 = 60; |
| | | 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; |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | |
| | | if (tips != null) |
| | | { |
| | | tips.Appearance.BackColor = Color.LightBlue; // è®¾ç½®èæ¯é¢è² |
| | | tips.Appearance.ForeColor = Color.Black; // è®¾ç½®åæ¯è²ï¼æåé¢è²ï¼ |
| | | gridView1.MouseMove += (s, e) => |
| | | { |
| | | try |
| | | { |
| | | GridHitInfo hi = gridView1.CalcHitInfo(new Point(e.X, e.Y)); |
| | | if (hi.InRowCell) |
| | | { |
| | | int cuRowHandle = hi.RowHandle; |
| | | if (cuRowHandle < 0) |
| | | return; |
| | | DataRow curRow = gridView1.GetDataRow(cuRowHandle); |
| | | var column = hi.Column; |
| | | string showTxt = curRow[column.FieldName].ToString(); |
| | | ToolTipControllerShowEventArgs aa = new ToolTipControllerShowEventArgs(); |
| | | aa.AllowHtmlText = DefaultBoolean.True; |
| | | aa.Title = column.Caption; //HTML, ç²ä½ |
| | | aa.ToolTip = showTxt; //æè¡ |
| | | aa.ShowBeak = true; |
| | | aa.Rounded = true; ////åè§ |
| | | aa.RoundRadius = 7; //åè§ç |
| | | // aa.ToolTipType = ToolTipType.SuperTip; //è¶
çº§æ ·å¼ï¼å¯å¤è¡ææ¾ç¤ºå¾æ |
| | | aa.ToolTipType = ToolTipType.Standard;//æ åæ ·å¼ï¼å¯æ¾ç¤ºé¸å´ã |
| | | aa.IconType = ToolTipIconType.Information; //æ¶æ¯å¾æ |
| | | aa.IconSize = ToolTipIconSize.Small; //大徿 |
| | | tips.ShowHint(aa); |
| | | } |
| | | else |
| | | tips.HideHint(); |
| | | } |
| | | catch (Exception exception) |
| | | { |
| | | } |
| | | }; |
| | | } |
| | | } |
| | | |
| | | #endregion |
| | | /// <summary> |
| | | /// 夿æ¯ä¸æ¯ä¸ä¸ªææçæ°å¼ |
| | | /// </summary> |
| | | /// <param name="str"></param> |
| | | /// <returns></returns> |
| | | public static bool IsNumeric(string str) |
| | | { |
| | | Regex regex = new Regex("^[0-9]+$"); |
| | | return regex.IsMatch(str); |
| | | } |
| | | /// <summary> |
| | | /// 夿æ¯ä¸æ¯ä¸ä¸ªæææçdecimalæ°å¼ |
| | | /// </summary> |
| | | /// <param name="str"></param> |
| | | /// <returns></returns> |
| | | public static bool IsNumeric2(string str) |
| | | { |
| | | string input = str; |
| | | decimal number; |
| | | bool isNumeric = decimal.TryParse(input, out number); |
| | | return isNumeric; |
| | | } |
| | | /// <summary> |
| | | /// 夿æ¯ä¸æ¯ä¸ä¸ªææçæ£æ´æ° |
| | | /// </summary> |
| | | /// <param name="str"></param> |
| | | /// <returns></returns> |
| | | public static bool IsNumeric3(string str) |
| | | { |
| | | string input = str; |
| | | decimal number; |
| | | bool isNumeric = decimal.TryParse(input, out number); |
| | | if (isNumeric && number > 0) |
| | | return true; |
| | | return false; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 夿æ¯ä¸æ¯ä¸ä¸ªææçæ£æ´æ° |
| | | /// </summary> |
| | | /// <param name="str"></param> |
| | | /// <returns></returns> |
| | | public static bool IsNumeric3(string str, string str2) |
| | | { |
| | | decimal d1 = 0; |
| | | decimal d2 = 0; |
| | | if (!string.IsNullOrEmpty(str)) |
| | | { |
| | | d1 = decimal.Parse(str); |
| | | } |
| | | if (!string.IsNullOrEmpty(str2)) |
| | | { |
| | | d2 = decimal.Parse(str2); |
| | | } |
| | | return (d1 + d2) > 0 ? true : false; |
| | | } |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | /// <param name="box1">txt_psnQty_1:æ¯å¼ æ¡ç æ°é</param> |
| | | /// <param name="box2">txt_iCount_1:æ´å¼ æ°å¼</param> |
| | | /// <param name="sum">txt_kQty:坿å°é</param> |
| | | /// <param name="rd"></param> |
| | | /// <param name="txt_yuliang">txt_yuliang:ä½é</param> |
| | | public static void PrintJiSuan(DevExpress.XtraEditors.TextEdit box1, DevExpress.XtraEditors.TextEdit box2, string sum, DevExpress.XtraEditors.RadioGroup rd, DevExpress.XtraEditors.TextEdit txt_yuliang = null) |
| | | { |
| | | if (rd.SelectedIndex == 2) |
| | | return; |
| | | try |
| | | { |
| | | string t1 = box1.Text.Trim(); |
| | | string t2 = box2.Text.Trim(); |
| | | if (!Gs.DevApp.ToolBox.UtilityHelper.IsNumeric2(t1)) |
| | | return; |
| | | if (Gs.DevApp.ToolBox.UtilityHelper.ToDecimal(t1) <= 0) |
| | | return; |
| | | decimal? dc = Gs.DevApp.ToolBox.UtilityHelper.GetDecimal(sum); |
| | | decimal? dc1 = Gs.DevApp.ToolBox.UtilityHelper.GetDecimal(t1); |
| | | decimal dividend = decimal.Parse(sum); // è¢«é¤æ° |
| | | decimal divisor = decimal.Parse(t1); // 餿° |
| | | decimal shang = dividend / divisor; |
| | | |
| | | decimal integerPart = Math.Truncate(shang); // è·åæ´æ°é¨å |
| | | decimal decimalPart = dividend - divisor * integerPart; // è·åå°æ°é¨å |
| | | |
| | | //decimal quotient = dividend / divisor; // æ´æ°é¨å |
| | | //decimal remainder = dividend % divisor; // 使° |
| | | box2.Text = integerPart.ToString(); |
| | | if (rd.SelectedIndex == 0) |
| | | txt_yuliang.Text = decimalPart.ToString(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | Gs.DevApp.ToolBox.MsgHelper.ShowError("è¾å
¥æ°æ®é误:" + ex.Message); |
| | | } |
| | | } |
| | | public static void PrintAuto(DevExpress.XtraEditors.TextEdit txt_psnQty_1, DevExpress.XtraEditors.TextEdit txt_iCount_1, DevExpress.XtraEditors.RadioGroup radOut, DevExpress.XtraEditors.TextEdit txt_yuliang = null) |
| | | { |
| | | txt_psnQty_1.Text = ""; |
| | | txt_iCount_1.Text = ""; |
| | | txt_yuliang.Text = ""; |
| | | if (radOut.SelectedIndex == 2) |
| | | txt_iCount_1.ReadOnly = false; |
| | | else |
| | | txt_iCount_1.ReadOnly = true; |
| | | } |
| | | |
| | | |
| | | |
| | | #region èªå®ä¹è¿åº¦æ¡å |
| | | |
| | | /// <summary> |
| | | /// èªå®ä¹è¿åº¦æ¡å |
| | | /// </summary> |
| | | /// <param name="view"></param> |
| | | /// <param name="fieldName">åçåæ®µå</param> |
| | | /// <param name="warningValue"></param> |
| | | /// <param name="lessColor"></param> |
| | | /// <param name="greaterColor"></param> |
| | | public static void CustomProgressBarColumn(DevExpress.XtraGrid.Views.Grid.GridView view, string fieldName, int warningValue = 50, Brush lessColor = null, Brush greaterColor = null) |
| | | { |
| | | var col = view.Columns[fieldName]; |
| | | if (col == null) return; |
| | | col.AppearanceCell.Options.UseTextOptions = true; |
| | | col.AppearanceCell.TextOptions.HAlignment = HorzAlignment.Center; |
| | | view.CustomDrawCell += (s, e) => |
| | | { |
| | | int _handle = e.RowHandle; |
| | | if (_handle < 0) |
| | | return; |
| | | if (e.Column.FieldName == fieldName) |
| | | { |
| | | DrawProgressBar(e, warningValue, lessColor, greaterColor); |
| | | e.Handled = true; |
| | | DrawEditor(e); |
| | | } |
| | | }; |
| | | } |
| | | |
| | | private static void DrawProgressBar(DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e, int warningValue = 50, Brush lessColor = null, Brush greaterColor = null) |
| | | { |
| | | string d = e.CellValue == null ? null : e.CellValue.ToString(); |
| | | decimal percent = string.IsNullOrEmpty(d) ? 0m : decimal.Parse(d); |
| | | if (percent <= 0) |
| | | percent = 0.1m; |
| | | int width = (int)(percent * e.Bounds.Width); |
| | | Rectangle rect = new Rectangle(e.Bounds.X, e.Bounds.Y, width, e.Bounds.Height); |
| | | Brush b = Brushes.Green; |
| | | if (greaterColor != null) |
| | | { |
| | | b = greaterColor; |
| | | } |
| | | if (percent * 100 < warningValue) |
| | | |
| | | { |
| | | if (lessColor == null) |
| | | |
| | | { |
| | | b = Brushes.Red; |
| | | } |
| | | else |
| | | |
| | | { |
| | | b = lessColor; |
| | | } |
| | | } |
| | | e.Graphics.FillRectangle(b, rect); |
| | | } |
| | | private static void DrawEditor(DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e) |
| | | |
| | | { |
| | | GridCellInfo cell = e.Cell as GridCellInfo; |
| | | Point offset = cell.CellValueRect.Location; |
| | | BaseEditPainter pb = cell.ViewInfo.Painter as BaseEditPainter; |
| | | AppearanceObject style = cell.ViewInfo.PaintAppearance; |
| | | if (!offset.IsEmpty) |
| | | cell.ViewInfo.Offset(offset.X, offset.Y); |
| | | try |
| | | |
| | | { |
| | | pb.Draw(new ControlGraphicsInfoArgs(cell.ViewInfo, e.Cache, cell.Bounds)); |
| | | } |
| | | |
| | | finally |
| | | |
| | | { |
| | | if (!offset.IsEmpty) |
| | | |
| | | { |
| | | cell.ViewInfo.Offset(-offset.X, -offset.Y); |
| | | } |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | #region ç»å¶è¡¨å¤´å
¨éå¾éæ¡ |
| | | /// <summary> |
| | | /// ç»å¶è¡¨å¤´å
¨éå¾éæ¡ |
| | | /// </summary> |
| | | // private Rectangle checkBoxColumnHeaderRect = Rectangle.Empty; |
| | | // private GridColumn checkBoxColumn = null; |
| | | public static void CustomDrawColumnHeader(object sender, ColumnHeaderCustomDrawEventArgs e) |
| | | { |
| | | |
| | | Rectangle checkBoxColumnHeaderRect = new Rectangle(51, 1, 37, 57); |
| | | if (e.Column != null && e.Column.AbsoluteIndex == 0) |
| | | { |
| | | //X = 51 Y = 1 Width = 37 Height = 57 |
| | | e.Column.Caption = "."; |
| | | checkBoxColumnHeaderRect = e.Bounds; |
| | | // checkBoxColumn = e.Column; |
| | | //é¡»æå头æ é¢è®¾ç½®ä¸ºç©º |
| | | e.Painter.DrawObject(e.Info); |
| | | //å¨å头ä¸å¿æ¾ç¤ºå¤éæ¡ |
| | | int x = e.Bounds.X + (int)((e.Bounds.Width - CheckBoxRenderer.GetGlyphSize(e.Graphics, CheckBoxState.UncheckedNormal).Width) * 0.5); |
| | | int y = e.Bounds.Y + (int)((e.Bounds.Height - CheckBoxRenderer.GetGlyphSize(e.Graphics, CheckBoxState.UncheckedNormal).Height) * 0.5); |
| | | Point location = new Point(x, y); |
| | | CheckBoxState checkBoxState; |
| | | if (e.Column.Tag != null && e.Column.Tag.ToString() == "1") |
| | | checkBoxState = CheckBoxState.CheckedPressed; |
| | | else |
| | | checkBoxState = CheckBoxState.UncheckedNormal; |
| | | CheckBoxRenderer.DrawCheckBox(e.Graphics, location, checkBoxState); |
| | | e.Handled = true; |
| | | } |
| | | } |
| | | |
| | | public static void CustomMouseUp(object sender, MouseEventArgs e, DevExpress.XtraGrid.GridControl gcMain, DevExpress.XtraGrid.Views.Grid.GridView gridView1) |
| | | { |
| | | GridColumn checkBoxColumn = gridView1.Columns[0]; |
| | | Rectangle checkBoxColumnHeaderRect = new Rectangle(51, 1, 37, 57); |
| | | if (checkBoxColumnHeaderRect != Rectangle.Empty) |
| | | { |
| | | if (e.X > checkBoxColumnHeaderRect.X && e.X < (checkBoxColumnHeaderRect.X + checkBoxColumnHeaderRect.Width) && e.Y > checkBoxColumnHeaderRect.Y && e.Y < (checkBoxColumnHeaderRect.Y + checkBoxColumnHeaderRect.Height)) |
| | | { |
| | | DataTable _Table = (DataTable)gcMain.DataSource; |
| | | if (checkBoxColumn.Tag != null && checkBoxColumn.Tag.ToString() == "1") |
| | | { |
| | | checkBoxColumn.Tag = "0"; |
| | | foreach (DataRow row in _Table.Rows) |
| | | { |
| | | row["chkInt"] = false; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | checkBoxColumn.Tag = "1"; |
| | | foreach (DataRow row in _Table.Rows) |
| | | { |
| | | row["chkInt"] = true; |
| | | } |
| | | } |
| | | gcMain.BindingContext = new BindingContext(); |
| | | gcMain.DataSource = _Table; |
| | | gcMain.ForceInitialize(); |
| | | gridView1.CloseEditor(); |
| | | gridView1.PostEditor(); |
| | | gridView1.UpdateCurrentRow(); |
| | | gridView1.InvalidateColumnHeader(checkBoxColumn); |
| | | } |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | |
| | | //读åé»è®¤ç»ç» |
| | | public static string GetFirstOrg(UserControl.UcLookOrg txt_erpSczz) |
| | | { |
| | | string userGuid = LoginInfoModel.CurrentUser.LoginUserGuid; |
| | | var pgq = new PageQueryModel(1, 999999, "FID", "asc", userGuid, " and IS_STATUS=1"); |
| | | var json = JsonConvert.SerializeObject(pgq); |
| | | try |
| | | { |
| | | var strReturn = UtilityHelper.HttpPost("", "Organization/GetListPage", json); |
| | | var _obj = UtilityHelper.ReturnToDynamic(strReturn); |
| | | string _extendText = _obj.rtnData.extendText; |
| | | string[] _dftOrg = _extendText.Split(','); |
| | | if (_dftOrg.Length > 0) |
| | | { |
| | | txt_erpSczz.SetIdOrCode(_dftOrg[0].Trim()); |
| | | return _dftOrg[0].Trim(); |
| | | } |
| | | return ""; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return ""; |
| | | } |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// ä¸ææ¡æ¡ç®ç±» |
| | | /// </summary> |
| | | public class CboItemEntity |
| | | { |
| | | public CboItemEntity() |
| | | { |
| | | } |
| | | |
| | | public CboItemEntity(string val, string text, string fType = "") |
| | | { |
| | | Text = text; |
| | | Value = val; |
| | | FType = fType; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ¾ç¤ºå¼ |
| | | /// </summary> |
| | | public object Text { get; set; } = 0; |
| | | |
| | | /// <summary> |
| | | /// å¯¹è±¡å¼ |
| | | /// </summary> |
| | | public object Value { get; set; } = ""; |
| | | |
| | | public object FType { get; set; } = ""; |
| | | |
| | | public override string ToString() |
| | | { |
| | | return Text.ToString(); |
| | | } |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ¥è¯¢æ¡ |
| | | /// </summary> |
| | | public class FilterEntity |
| | | { |
| | | /// <summary> |
| | | /// </summary> |
| | | /// <param name="id">åæ®µå</param> |
| | | /// <param name="idDec">åæ®µå夿³¨</param> |
| | | /// <param name="oper">æä½ç¬¦</param> |
| | | /// <param name="operDec">æä½ç¬¦å¤æ³¨</param> |
| | | /// <param name="val"></param> |
| | | 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; } |
| | | } |
| | | |
| | | |
| | | public enum QcSeason |
| | | { |
| | | iqc, |
| | | ipqcå·¡æ£, |
| | | ipqc馿£, |
| | | fqc, |
| | | ç产éæå
¥åºæ£, |
| | | å
¶å®å
¥åºæ£, |
| | | éå®éè´§å
¥åºæ£, |
| | | è¶
ææ£, |
| | | cqcjyes,//éæ£æ¹æ¡ |
| | | cqcjno,//éæ£æ¹æ¡ |
| | | } |
| | | |
| | | |
| | | |
| | | } |