protected override ResultStatus AfterOpen() { base.AfterOpen(); //先確認有沒有資料(這邊不直接下Retrieve是為了不跳錯誤訊息) DataTable dtCheck = new MGT4().ListDataByMGT4(); dtForDeleted = dtCheck.Clone(); //0.check (沒有資料時,則自動新增一筆) if (dtCheck.Rows.Count <= 0) { InsertRow(); } return(ResultStatus.Success); }
protected override ResultStatus Save(PokeBall pokeBall) { try { gvMain.CloseEditor(); gvMain.UpdateCurrentRow(); ResultStatus resultStatus = ResultStatus.Fail; DataTable dt = (DataTable)gcMain.DataSource; DataTable dtChange = dt.GetChanges(); DataTable dtForAdd = dt.GetChanges(DataRowState.Added); DataTable dtForModified = dt.GetChanges(DataRowState.Modified); if (dtChange != null) { if (dtChange.Rows.Count == 0) { MessageDisplay.Warning("沒有變更資料,不需要存檔!", GlobalInfo.WarningText); return(ResultStatus.Fail); } else { foreach (DataRow dr in dt.Rows) { if (dr.RowState == DataRowState.Added) { foreach (DataRow drAdd in dtForAdd.Rows) { for (int w = 0; w < dtForAdd.Rows.Count; w++) { if (string.IsNullOrEmpty(drAdd[w].AsString())) { MessageDisplay.Warning("新增資料欄位不可為空!", GlobalInfo.WarningText); return(ResultStatus.Fail); } } } dr["MGT4_W_TIME"] = DateTime.Now; dr["MGT4_W_USER_ID"] = GlobalInfo.USER_ID; } if (dr.RowState == DataRowState.Modified) { dr["MGT4_W_TIME"] = DateTime.Now; dr["MGT4_W_USER_ID"] = GlobalInfo.USER_ID; } } dt.Columns.Remove("IS_NEWROW"); ResultData result = new MGT4().UpdateData(dt);//base.Save_Override(dt, "MGT4"); if (result.Status == ResultStatus.Fail) { return(ResultStatus.Fail); } } if (resultStatus == ResultStatus.Success) { PrintableComponent = gcMain; } } //不要自動列印 _IsPreventFlowPrint = true; } catch (Exception ex) { MessageDisplay.Error("儲存錯誤", GlobalInfo.ErrorText); WriteLog(ex, "", false); return(ResultStatus.FailButNext); } return(ResultStatus.Success); }
protected override ResultStatus Retrieve() { try { //1. 讀取資料 DataTable dt = new MGT4().ListDataByMGT4(); //好像讀取此Table都一定會有資料,先寫著 if (dt.Rows.Count <= 0) { MessageDisplay.Info(MessageDisplay.MSG_NO_DATA, GlobalInfo.ResultText); } //2. 設定gvMain gvMain.Columns.Clear(); gcMain.DataSource = dt; // GridHelper.SetCommonGrid(gvMain); string[] showColCaption = { "商品", $"類{Environment.NewLine}別", $"現行{Environment.NewLine}維持比率", $"現行{Environment.NewLine}原始比率", $"現行{Environment.NewLine}進位數", $"本日{Environment.NewLine}維持比率", $"本日{Environment.NewLine}原始比率", $"本日{Environment.NewLine}進位數", "MGT4_W_TIME", "MGT4_W_USER_ID", $"本日{Environment.NewLine}結算進位數", " " }; //2.1 設定欄位caption foreach (DataColumn dc in dt.Columns) { gvMain.SetColumnCaption(dc.ColumnName, showColCaption[dt.Columns.IndexOf(dc)]); gvMain.Columns[dc.ColumnName].AppearanceHeader.TextOptions.WordWrap = WordWrap.Wrap; gvMain.Columns[dc.ColumnName].AppearanceCell.TextOptions.WordWrap = WordWrap.Wrap; gvMain.Columns[dc.ColumnName].OptionsColumn.AllowMerge = DefaultBoolean.False; //設定欄位header顏色 if (dc.ColumnName == "MGT4_KIND_ID" || dc.ColumnName == "MGT4_TYPE") { gvMain.Columns[dc.ColumnName].AppearanceHeader.BackColor = GridHelper.PK; } else { gvMain.Columns[dc.ColumnName].AppearanceHeader.BackColor = GridHelper.NORMAL; if (dc.ColumnName == "MGT4_M_MULTI" || dc.ColumnName == "MGT4_I_MULTI" || dc.ColumnName == "MGT4_DIGITAL" || dc.ColumnName == "MGT4_M_DIGITAL") { gvMain.Columns[dc.ColumnName].AppearanceHeader.ForeColor = Color.Blue; } } } //1.2 設定隱藏欄位 gvMain.Columns["MGT4_W_TIME"].Visible = false; gvMain.Columns["MGT4_W_USER_ID"].Visible = false; gvMain.Columns["IS_NEWROW"].Visible = false; //1.3 設定dropdownlist gvMain.Columns["MGT4_TYPE"].ColumnEdit = lupType; gcMain.LookAndFeel.Style = DevExpress.LookAndFeel.LookAndFeelStyle.Flat; gcMain.LookAndFeel.UseDefaultLookAndFeel = false; gvMain.OptionsSelection.EnableAppearanceFocusedRow = false; gvMain.OptionsSelection.EnableAppearanceFocusedCell = false; gcMain.DataSource = dt; gvMain.BestFitColumns(); gvMain.Columns["MGT4_TYPE"].Width = 40; GridHelper.SetCommonGrid(gvMain); gcMain.Focus(); return(ResultStatus.Success); } catch (Exception ex) { WriteLog(ex); } return(ResultStatus.Fail); }