| | |
| | | using DevExpress.Utils; |
| | | using DevExpress.Utils.DirectXPaint; |
| | | using DevExpress.XtraGrid.Columns; |
| | | using DevExpress.XtraGrid.Views.Grid; |
| | | using DevExpress.XtraPrinting.Native; |
| | | using DevExpress.XtraRichEdit.Layout; |
| | | using Gs.DevApp.DevFrm.QC; |
| | | using Gs.DevApp.Entity; |
| | | using Gs.DevApp.Entity; |
| | | using Gs.DevApp.ToolBox; |
| | | 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.Net; |
| | | using System.Threading.Tasks; |
| | | using System.Web.UI.WebControls; |
| | | using System.Windows.Forms; |
| | | |
| | | namespace Gs.DevApp.DevFrm.QC |
| | |
| | | { |
| | | string _webServiceName = "MesQaItemsDetect01Manager/"; |
| | | private string dt01Guid = ""; |
| | | public Frm_MesQaItemsDetect01Input(string _dt01Guid) |
| | | bool isEdit = false; |
| | | public Frm_MesQaItemsDetect01Input(string _dt01Guid, bool _blEdit) |
| | | { |
| | | InitializeComponent(); |
| | | this.dt01Guid = _dt01Guid; |
| | | this.isEdit = _blEdit; |
| | | Gs.DevApp.ToolBox.UtilityHelper.SetGridViewParameterMx(gvMx1); |
| | | getModel(); |
| | | gvMx1.CellValueChanged += GvMx1_CellValueChanged; |
| | |
| | | gvMx1.CustomDrawCell += GvMx1_CustomDrawCell; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 判断单元格的编辑性 |
| | | /// </summary> |
| | | /// <param name="Column"></param> |
| | | /// <param name="_maxYbs"></param> |
| | | /// <returns></returns> |
| | | private bool ckCol(string ColumnName, string _maxYbs) |
| | | { |
| | | string _FieldName = ColumnName; |
| | | if (!_FieldName.Contains("样本")) |
| | | return false; |
| | | if (_FieldName == "样本数") |
| | | return true; |
| | | if (string.IsNullOrEmpty(_maxYbs)) |
| | | return false; |
| | | string _seqYb = _FieldName.Replace("样本", ""); |
| | | if (int.Parse(_seqYb) > int.Parse(_maxYbs)) |
| | | return false; |
| | | return true; |
| | | } |
| | | |
| | | private void GvMx1_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e) |
| | | { |
| | | // 判断单元格是否符合条件 && e.CellValue.ToString() == "YourCondition" |
| | | bool _bl = false; |
| | | string _FieldName = e.Column.FieldName; |
| | | //if (e.Column.FieldName == "样本数") |
| | | //{ |
| | | // _bl = true; |
| | | //} |
| | | //e.Appearance.BackColor = Color.LightBlue; // 设置背景色 |
| | | if (_FieldName.Contains("样")) |
| | | string _maxYbs = (gvMx1.GetRowCellValue(e.RowHandle, "样本数").ToString()); |
| | | bool _bl = ckCol(e.Column.FieldName, _maxYbs); |
| | | if (_bl) |
| | | { |
| | | if (_FieldName == "样本数") |
| | | _bl = true; |
| | | else |
| | | { |
| | | string _maxYbs = (gvMx1.GetRowCellValue(e.RowHandle, "样本数").ToString()); |
| | | string _seqYb = _FieldName.Replace("样本", ""); |
| | | if (int.Parse(_seqYb) > int.Parse(_maxYbs)) |
| | | _bl = false; |
| | | else |
| | | _bl = true; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | _bl = false; |
| | | } |
| | | if (_bl) { |
| | | e.Appearance.BackColor = Color.Azure; |
| | | e.Appearance.BackColor = Color.Azure; |
| | | e.Column.MinWidth = 50; |
| | | //e.Appearance.BackColor2 = Color.LightSkyBlue; |
| | | } |
| | | else |
| | | { |
| | | e.Appearance.BackColor = Color.LightGray; |
| | | } |
| | | |
| | | e.Column.OptionsColumn.ReadOnly = !isEdit; |
| | | } |
| | | |
| | | private void GvMx1_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e) |
| | | { |
| | | // 获取行句柄 |
| | | int rowHandle = e.RowHandle; |
| | | // 获取列 |
| | | // GridColumn col = gvMx1.Columns[e.Column.Name]; |
| | | // 获取新值 |
| | | object newValue = e.Value; |
| | | // 获取旧值 |
| | | // object oldValue = gvMx1.GetRowCellValue(rowHandle, col); |
| | | // MessageBox.Show(newValue.ToString()); |
| | | // getModel(); |
| | | // 在这里执行你的逻辑,例如: |
| | | // MessageBox.Show($"行 {rowHandle},列 {col.FieldName} 的值已从 {oldValue} 改为 {newValue}"); |
| | | string dt05Guid = gvMx1.GetRowCellValue(e.RowHandle, "guid").ToString(); |
| | | string dtCol = e.Column.FieldName; |
| | | gvMx1.CloseEditor(); |
| | | gvMx1.PostEditor(); |
| | | gvMx1.UpdateCurrentRow(); |
| | | var _obj = new |
| | | { |
| | | dt05Guid = dt05Guid, |
| | | fSeq = dtCol, |
| | | fVal = newValue, |
| | | }; |
| | | try |
| | | { |
| | | // 获取行句柄 |
| | | int rowHandle = e.RowHandle; |
| | | // 获取列 |
| | | // GridColumn col = gvMx1.Columns[e.Column.Name]; |
| | | // 获取新值 |
| | | object newValue = e.Value; |
| | | if (newValue == null || string.IsNullOrEmpty(newValue.ToString())) { return; } |
| | | // 获取旧值 |
| | | // object oldValue = gvMx1.GetRowCellValue(rowHandle, col); |
| | | // MessageBox.Show(newValue.ToString()); |
| | | // getModel(); |
| | | // 在这里执行你的逻辑,例如: |
| | | // MessageBox.Show($"行 {rowHandle},列 {col.FieldName} 的值已从 {oldValue} 改为 {newValue}"); |
| | | string dt05Guid = gvMx1.GetRowCellValue(e.RowHandle, "guid").ToString(); |
| | | string dtCol = e.Column.FieldName; |
| | | gvMx1.CloseEditor(); |
| | | gvMx1.PostEditor(); |
| | | gvMx1.UpdateCurrentRow(); |
| | | var _obj = new |
| | | { |
| | | dt05Guid = dt05Guid, |
| | | fSeq = dtCol, |
| | | fVal = newValue, |
| | | }; |
| | | string strJson = UtilityHelper.HttpPost("", _webServiceName + "EditYangLi", JsonConvert.SerializeObject(_obj)); |
| | | ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson); |
| | | if (_rtn.rtnCode > 0) |
| | | { |
| | | string _strYbNo = _rtn.rtnData.outNo; |
| | | string _outMsg = _rtn.rtnData.outMsg; |
| | | string _outSum = _rtn.rtnData.outSum; |
| | | if (string.IsNullOrEmpty(_outSum)) _outSum = "-1"; |
| | | if (int.Parse(_outSum) < 0) |
| | | { |
| | | Gs.DevApp.ToolBox.MsgHelper.ShowError(_outMsg); |
| | | gvMx1.SetRowCellValue(rowHandle, dtCol, ""); |
| | | } |
| | | if (_strYbNo == "样本数") |
| | | getModel(); |
| | | //lbGuid.Text = _rtn.rtnData.outGuid; |
| | |
| | | private void GvMx1_ShowingEditor(object sender, System.ComponentModel.CancelEventArgs e) |
| | | { |
| | | DevExpress.XtraGrid.Views.Grid.GridView view = sender as DevExpress.XtraGrid.Views.Grid.GridView; |
| | | string _FieldName = view.FocusedColumn.FieldName; |
| | | if (view.FocusedColumn.FieldName.Contains("样")) |
| | | { |
| | | if (_FieldName == "样本数") |
| | | e.Cancel = false; |
| | | else |
| | | { |
| | | string _maxYbs = (gvMx1.GetRowCellValue(view.FocusedRowHandle, "样本数").ToString()); |
| | | string _seqYb = _FieldName.Replace("样本", ""); |
| | | if (int.Parse(_seqYb) > int.Parse(_maxYbs)) |
| | | e.Cancel = true; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | string _maxYbs = (gvMx1.GetRowCellValue(view.FocusedRowHandle, "样本数").ToString()); |
| | | bool _bl = ckCol(view.FocusedColumn.FieldName, _maxYbs); |
| | | if (!_bl) |
| | | e.Cancel = true; |
| | | } |
| | | |
| | | } |
| | | |
| | |
| | | gcMx1.DataSource = dt; |
| | | gcMx1.ForceInitialize(); |
| | | gvMx1.BestFitColumns(); |
| | | gvMx1.Columns["guid"].Visible = false; |
| | | gvMx1.Columns["parentGuid"].Visible = false; |
| | | } |
| | | else |
| | | { |
| | | Gs.DevApp.ToolBox.UtilityHelper.SetDefaultTable(gcMx1, gvMx1); |
| | | } |
| | | gvMx1.Columns["guid"].Visible = false; |
| | | gvMx1.Columns["parentGuid"].Visible = false; |
| | | } |
| | | else |
| | | ToolBox.MsgHelper.Warning("提示:" + _rtn.rtnMsg); |