protected override bool WfItemCheck(object sender, ItemCheckInfo e) { vw_admi601 admi601Model = null; vw_admi601s admi601sModel = null; List <vw_admi601s> admi601List = null; aza_tb l_aza; int iChkCnts = 0; try { if (e.Row.Table.Prefix.ToLower() == "vw_admi601s") { admi601Model = DrMaster.ToItem <vw_admi601>(); admi601List = e.Row.Table.ToList <vw_admi601s>(); admi601sModel = e.Row.ToItem <vw_admi601s>(); switch (e.Column.ToLower()) { case "adp02": if (GlobalFn.varIsNull(e.Value)) { e.Row["aza04"] = ""; e.Row["aza08"] = ""; e.Row["aza09"] = DBNull.Value; e.Row["aza10"] = DBNull.Value; e.Row["aza11"] = DBNull.Value; return(true); } iChkCnts = admi601List.Where(p => p.adp02 == e.Value.ToString()).Count(); if (iChkCnts > 1) { WfShowErrorMsg("不可重覆輸入報表欄位!"); return(false); } if (BoAdm.OfChkAzaPKExists(admi601Model.ado06, e.Value.ToString()) == false) { WfShowErrorMsg("無此欄位代碼,請檢核!"); return(false); } l_aza = BoAdm.OfGetAzaModel(admi601Model.ado06, e.Value.ToString()); e.Row["aza04"] = l_aza.aza04; e.Row["aza08"] = l_aza.aza08; e.Row["aza09"] = l_aza.aza09; e.Row["aza10"] = l_aza.aza10; e.Row["aza11"] = l_aza.aza11; break; case "adp03": //排列順序 if (GlobalFn.varIsNull(e.Value)) { WfShowErrorMsg("輸入欄位不可空白!"); return(false); } break; case "adp04": //報表寬度 if (GlobalFn.varIsNull(e.Value)) { WfShowErrorMsg("輸入欄位不可空白!"); return(false); } break; } } return(true); } catch (Exception ex) { throw ex; } }
protected override bool WfFormCheck() { vw_admi601s detailModel = null; UltraGrid uGrid; string msg; string chkColName; int iChkDetailTab; try { #region 單身資料檢查 iChkDetailTab = 0; uGrid = TabDetailList[iChkDetailTab].UGrid; foreach (DataRow drTemp in TabDetailList[iChkDetailTab].DtSource.Rows) { if (drTemp.RowState == DataRowState.Unchanged) //未異動的資料就不檢查了 { continue; } detailModel = drTemp.ToItem <vw_admi601s>(); #region adp02-報表欄位 chkColName = "adp02"; if (GlobalFn.varIsNull(detailModel.adp02)) { this.uTab_Detail.SelectedTab = uTab_Detail.Tabs[iChkDetailTab]; msg = TabDetailList[iChkDetailTab].AzaTbList.Where(p => p.aza03 == chkColName).Select(p => p.aza04).FirstOrDefault(); msg += "不可為空白"; WfShowErrorMsg(msg); WfFindErrUltraGridCell(uGrid, drTemp, chkColName); return(false); } #endregion #region adp04-報表寬度 chkColName = "adp04"; if (GlobalFn.varIsNull(detailModel.adp04)) { this.uTab_Detail.SelectedTab = uTab_Detail.Tabs[iChkDetailTab]; msg = TabDetailList[iChkDetailTab].AzaTbList.Where(p => p.aza03 == chkColName).Select(p => p.aza04).FirstOrDefault(); msg += "不可為空白"; WfShowErrorMsg(msg); WfFindErrUltraGridCell(uGrid, drTemp, chkColName); return(false); } #endregion #region adp03-排列順序 chkColName = "adp03"; if (GlobalFn.varIsNull(detailModel.adp03)) { this.uTab_Detail.SelectedTab = uTab_Detail.Tabs[iChkDetailTab]; msg = TabDetailList[iChkDetailTab].AzaTbList.Where(p => p.aza03 == chkColName).Select(p => p.aza04).FirstOrDefault(); msg += "不可為空白"; WfShowErrorMsg(msg); WfFindErrUltraGridCell(uGrid, drTemp, chkColName); return(false); } #endregion } #endregion return(true); } catch (Exception ex) { throw ex; } }
protected override bool WfPickClickOnEditMode(object sender, string pColName, DataRow pDr) { vw_admi601 admi601Model = null; vw_admi601s admi601sModel = null; UltraGrid uGrid; try { MessageInfo messageModel = new MessageInfo(); #region 單身-pick vw_admi650s if (pDr.Table.Prefix.ToLower() == "vw_admi601s") { admi601Model = DrMaster.ToItem <vw_admi601>(); admi601sModel = pDr.ToItem <vw_admi601s>(); uGrid = sender as UltraGrid; switch (pColName.ToLower()) { case "adp02": //報表欄位 messageModel.ParamSearchList = new List <SqlParameter>(); messageModel.IntMaxRow = -1; messageModel.ParamSearchList.Add(new SqlParameter("@aza01", admi601Model.ado06)); WfShowPickUtility("p_aza1", messageModel); if (messageModel.Result == System.Windows.Forms.DialogResult.OK) { if (messageModel.DataRowList.Count == 1) { pDr[pColName] = ""; } else if (messageModel.DataRowList.Count == 1) { pDr[pColName] = GlobalFn.isNullRet(messageModel.DataRowList[0]["aza03"], ""); } else { var drReturns = messageModel.DataRowList; for (int i = 0; i < drReturns.Count; i++) { if (i == 0) { pDr[pColName] = GlobalFn.isNullRet(messageModel.DataRowList[0]["aza03"], ""); } else { var drInsert = TabDetailList[0].DtSource.NewRow(); WfSetDetailRowDefault(0, drInsert); drInsert[pColName] = GlobalFn.isNullRet(drReturns[i]["aza03"], ""); TabDetailList[0].DtSource.Rows.Add(drInsert); } } } } break; } } #endregion return(true); } catch (Exception ex) { throw ex; } }