//回傳值 true.通過驗證 false.未通過驗證,會把值還原 protected override bool WfItemCheck(object sender, ItemCheckInfo e) { int iChkCnts = 0; vw_admi602s detailModel = null; List <vw_admi602s> detailList = null; UltraGrid uGrid; try { #region 單身-vw_admi602s if (e.Row.Table.Prefix.ToLower() == "vw_admi602s") { uGrid = sender as UltraGrid; detailModel = e.Row.ToItem <vw_admi602s>(); switch (e.Column.ToLower()) { case "adq02": //功能代號 if (GlobalFn.varIsNull(e.Value)) { return(true); } detailList = e.Row.Table.ToList <vw_admi602s>(); iChkCnts = detailList.Where(p => GlobalFn.isNullRet(p.adq02, 0) == GlobalFn.isNullRet(e.Value, 0)) .Count(); if (iChkCnts > 1) { WfShowErrorMsg("功能代號已存在,請檢核!"); return(false); } break; } } #endregion return(true); } catch (Exception ex) { throw ex; } }
protected override bool WfFormCheck() { vw_admi602 masterModel = null; vw_admi602s detailModel = null; UltraGrid uGrid; string msg; Control chkControl; string chkColName; int iChkDetailTab; try { masterModel = DrMaster.ToItem <vw_admi602>(); #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_admi602s>(); #region adq02-功能代號 chkColName = "adq02"; if (GlobalFn.varIsNull(detailModel.adq02)) { 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 adq03-功能名稱 chkColName = "adq03"; if (GlobalFn.varIsNull(detailModel.adq03)) { 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 adq04-類別 chkColName = "adq04"; if (GlobalFn.varIsNull(detailModel.adq04)) { 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; } }