| | |
| | | using System; |
| | | using DevExpress.Utils; |
| | | 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.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.Text.RegularExpressions; |
| | | using System.Threading.Tasks; |
| | | using System.Windows.Forms; |
| | | using DevExpress.Utils; |
| | | 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.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.Windows.Forms.VisualStyles; |
| | | using UserControls.Data; |
| | | using static System.Windows.Forms.Control; |
| | | |
| | |
| | | { |
| | | private static readonly string WebApiUrl = |
| | | ConfigurationManager.AppSettings["WebApiUrl"]; |
| | | |
| | | |
| | | public static async Task<string> UploadFileAsync(string filePath) |
| | | { |
| | |
| | | txt.Text = strVal; |
| | | } |
| | | } |
| | | |
| | | //自定义仓库 |
| | | if (colType is UcLookCk) |
| | | { |
| | |
| | | if (colType is SimpleButton) |
| | | { |
| | | var txt = colType as SimpleButton; |
| | | txt.Enabled = !isEdt; |
| | | if (txt.Tag != null && txt.Tag.ToString() == "gvBtnAlawys") |
| | | txt.Enabled = true; |
| | | else |
| | | txt.Enabled = !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; |
| | |
| | | var txt = ctrl as ButtonEdit; |
| | | txt.Text = ""; |
| | | txt.Enabled = !isEdt; |
| | | txt.ReadOnly = isEdt; |
| | | continue; |
| | | } |
| | | //文本 |
| | |
| | | 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; |
| | | txt.Enabled = !isEdt; |
| | | if (txt.Tag != null && txt.Tag.ToString() == "gvBtnAlawys") |
| | | txt.Enabled = true; |
| | | else |
| | | txt.Enabled = !isEdt; |
| | | continue; |
| | | } |
| | | } |
| | |
| | | ctrl.Enabled = !isEdt; |
| | | continue; |
| | | } |
| | | // |
| | | if (ctrl is CheckEdit) |
| | | { |
| | | var txt = ctrl as CheckEdit; |
| | |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | |
| | | //自定部门 |
| | | if (ctrl is UcLookDepartment) |
| | | { |
| | |
| | | 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; |
| | | txt.Enabled = !isEdt; |
| | | if (txt.Tag != null && txt.Tag.ToString() == "gvBtnAlawys") |
| | | txt.Enabled = true; |
| | | else |
| | | txt.Enabled = !isEdt; |
| | | continue; |
| | | } |
| | | } |
| | |
| | | return false; |
| | | } |
| | | |
| | | public static bool ToCheck(string str) |
| | | { |
| | | if (str.ToUpper() == "true".ToUpper()) |
| | | return true; |
| | | if (str.ToUpper() == "1".ToUpper()) |
| | | return true; |
| | | return false; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 读取grid的当前行 |
| | |
| | | |
| | | public static FilterEntity getFilterEntityWord(string id, string idDec, string val, string type) |
| | | { |
| | | return new FilterEntity(id, idDec + ")", " like ", "包含)", "%" + val + "%", 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) |
| | | { |
| | |
| | | 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)); |
| | | 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; |
| | | } |
| | |
| | | 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; |
| | | case "Bit类型": |
| | | _sbSqlWhere.Append(" and isnull(" + itm.fileId + ",0) =" + itm.fileValue + ""); |
| | | break; |
| | | default: |
| | | _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" + itm.fileValue + "'"); |
| | | _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> |
| | |
| | | /// <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 isSearch = true) |
| | | 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) => |
| | | { |
| | |
| | | }; |
| | | gridView1.OptionsView.ColumnAutoWidth = false;//自动调整列宽 |
| | | |
| | | if (isSearch == true) |
| | | if (isPostSearch == true) |
| | | { |
| | | gridView1.OptionsView.ShowGroupPanel = false; |
| | | gridView1.OptionsCustomization.AllowGroup = false; |
| | |
| | | else |
| | | column.OptionsColumn.ReadOnly = true; |
| | | |
| | | if (isSearch == true) |
| | | //if(isPostSearch==false) |
| | | // column.OptionsColumn.ReadOnly = true; |
| | | |
| | | if (isPostSearch == true) |
| | | { |
| | | if (column.Tag == null || column.Tag.ToString().Length <= 0) |
| | | column.OptionsFilter.AllowAutoFilter = false; |
| | |
| | | } |
| | | |
| | | #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; |
| | |
| | | bool isNumeric = decimal.TryParse(input, out number); |
| | | return isNumeric; |
| | | } |
| | | |
| | | public static void PrintJiSuan(Form fm, DevExpress.XtraEditors.TextEdit box1, DevExpress.XtraEditors.TextEdit box2, string sum, DevExpress.XtraEditors.RadioGroup rd) |
| | | /// <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; |
| | | } |
| | | public static void PrintJiSuan(DevExpress.XtraEditors.TextEdit box1, DevExpress.XtraEditors.TextEdit box2, string sum, DevExpress.XtraEditors.RadioGroup rd) |
| | | { |
| | | if (rd.SelectedIndex == 2) |
| | | return; |
| | | try |
| | | { |
| | | if (fm.ActiveControl is DevExpress.XtraEditors.TextEdit textBox) |
| | | { |
| | | if (textBox.Name != box1.Name) |
| | | return; |
| | | } |
| | | string t1 = box1.Text.Trim(); |
| | | string t2 = box2.Text.Trim(); |
| | | if (!Gs.DevApp.ToolBox.UtilityHelper.IsNumeric2(t1)) |
| | |
| | | } |
| | | |
| | | } |
| | | |
| | | public static void PrintAuto(DevExpress.XtraEditors.TextEdit txt_psnQty_1, DevExpress.XtraEditors.TextEdit txt_iCount_1, DevExpress.XtraEditors.RadioGroup radOut) |
| | | { |
| | | txt_psnQty_1.Text = ""; |
| | | txt_iCount_1.Text = ""; |
| | | radOut.Properties.Items[0].Description = "全自动"; |
| | | if (radOut.SelectedIndex == 2) |
| | | txt_iCount_1.ReadOnly = false; |
| | | else |
| | | txt_iCount_1.ReadOnly = true; |
| | | } |
| | | public static decimal PrintYuLiang(DevExpress.XtraEditors.RadioGroup rd) |
| | | { |
| | | decimal dc = 0; |
| | |
| | | return 0; |
| | | return decimal.Parse(txt); |
| | | } |
| | | |
| | | #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 |
| | | } |
| | | |
| | | /// <summary> |