Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }