protected virtual void WfIniSqlBody() { StringBuilder sbSql; StringBuilder sbSqlSelect, sbSqlFrom, sbSqlInner, sbSqlWhere; try { if (MsgInfoReturned == null) { throw new Exception("未實體化msgInfoReturned"); } sbSql = new StringBuilder(); sbSql.AppendLine(string.Format(" SELECT * FROM vw_admi650 WHERE azp01='{0}' ", StrPickNo)); var drAzp = BoMaster.OfGetDataRow(sbSql.ToString()); if (drAzp == null) { throw new Exception("查無此pick_no!"); } sbSql = new StringBuilder(); sbSql.AppendLine(string.Format(" SELECT * FROM vw_admi650s WHERE azq01='{0}' ", StrPickNo)); sbSql.AppendLine(string.Format(" ORDER BY azq02 ")); var dtAzq = BoMaster.OfGetDataTable(sbSql.ToString()); if (drAzp == null) { throw new Exception("查無此pick_no 明細資料!"); } Admi650Model = drAzp.ToItem <vw_admi650>(); Admi650sList = dtAzq.ToList <vw_admi650s>(); //設定form名稱 this.Text = string.Format("{0} {1}", Admi650Model.azp01, Admi650Model.azp02); #region 取得select body sbSqlSelect = new StringBuilder(); sbSqlSelect.AppendLine(string.Format("SELECT ")); if (Admi650Model.azp06 == "Y") { sbSqlSelect.AppendLine(string.Format("DISTINCT")); } if (_iMaxPickRow != 1) //表示多選,增加is_pick_yn { sbSqlSelect.AppendLine(string.Format("convert(nvarchar(1),'N') is_pick,")); //0,1 } //組合select 欄位,最後一欄不加, for (int i = 0; i < Admi650sList.Count; i++) { var selectField = string.Format(Admi650sList[i].azq03 + "." + Admi650sList[i].azq04); if (i != Admi650sList.Count - 1) { selectField += ","; } sbSqlSelect.AppendLine(selectField); } #endregion #region 取得from body sbSqlFrom = new StringBuilder(); sbSqlFrom.AppendLine(string.Format("FROM " + Admi650Model.azp03)); #endregion #region 取得join sbSqlInner = new StringBuilder(); //if (GlobalFn.isNullRet(drAzp["azp04"], "") != "") if (GlobalFn.isNullRet(Admi650Model.azp04, "") != "") { //sbSqlInner.AppendLine(string.Format(GlobalFn.isNullRet(drAzp["azp04"], ""))); sbSqlInner.AppendLine(string.Format(GlobalFn.isNullRet(Admi650Model.azp04, ""))); } #endregion #region 取得where sbSqlWhere = new StringBuilder(); if (GlobalFn.isNullRet(Admi650Model.azp05, "") != "") { sbSqlWhere.AppendLine(string.Format("WHERE " + GlobalFn.isNullRet(Admi650Model.azp05, ""))); } else { sbSqlWhere.AppendLine(string.Format("WHERE 1=1 ")); } #endregion //組合好不含order by的字串 StrSqlBody = sbSqlSelect.ToString() + sbSqlFrom.ToString() + sbSqlInner.ToString() + sbSqlWhere.ToString(); if (MsgInfoReturned.StrWhereAppend != "") { StrSqlBody += MsgInfoReturned.StrWhereAppend; } if (MsgInfoReturned.ParamSearchList == null) { DtMaster = BoMaster.OfGetDataTable(StrSqlBody + " AND 1<>1 "); } else { DtMaster = BoMaster.OfGetDataTable(StrSqlBody + " AND 1<>1 ", MsgInfoReturned.ParamSearchList.ToArray()); } //修改column 型別為string 並將實際的型別丟到 column.prefix foreach (DataColumn dcTempColumn in DtMaster.Columns) { if (dcTempColumn.Prefix != "") { continue; } dcTempColumn.Prefix = dcTempColumn.DataType.Name; dcTempColumn.DataType = typeof(string); } BindingMaster.DataSource = DtMaster; uGrid_Master.DataSource = BindingMaster; } catch (Exception ex) { throw ex; } }
protected override void WfIniSqlBody() { StringBuilder sbSql; try { if (MsgInfoReturned == null) { throw new Exception("未實體化msgInfoReturned"); } sbSql = new StringBuilder(); sbSql.AppendLine("SELECT CONVERT(NVARCHAR(1),'N') is_pick,"); sbSql.AppendLine("CONVERT(NVARCHAR(100),'') AS action,"); sbSql.AppendLine("CONVERT(NVARCHAR(100),'') AS action_c"); StrSqlBody = sbSql.ToString(); DtMaster = BoMaster.OfGetDataTable(sbSql.ToString()); Admi650Model = new vw_admi650() { azp01 = StrPickNo, azp02 = "action功能挑選", azp03 = "", azp03_c = "", azp04 = "", azp05 = "", azp06 = "N", azp07 = "", azp08 = "Y", }; Admi650sList = new List <vw_admi650s>() { new vw_admi650s() { azq01 = Admi650Model.azp01, azq02 = 1, azq03 = "", azq04 = "action", azq04_c = "action", azq06 = "1", azq08 = 100 }, new vw_admi650s() { azq01 = Admi650Model.azp01, azq02 = 2, azq03 = "", azq04 = "action_c", azq04_c = "action名稱", azq06 = "1", azq08 = 200 } }; //修改column 型別為string 並將實際的型別丟到 column.prefix foreach (DataColumn dcTempColumn in DtMaster.Columns) { if (dcTempColumn.Prefix != "") { continue; } dcTempColumn.Prefix = dcTempColumn.DataType.Name; dcTempColumn.DataType = typeof(string); } BindingMaster.DataSource = DtMaster; uGrid_Master.DataSource = BindingMaster; } catch (Exception ex) { throw ex; } }
protected override bool WfFormCheck() { vw_admi650 masterModel = null; vw_admi650s detailModel = null; UltraGrid uGrid; string msg; Control chkControl; string chkColName; int iChkDetailTab; try { masterModel = DrMaster.ToItem <vw_admi650>(); #region 單頭資料檢查 chkColName = "azp01"; chkControl = ute_azp01; if (GlobalFn.varIsNull(masterModel.azp01)) { this.uTab_Master.SelectedTab = uTab_Master.Tabs[0]; chkControl.Focus(); msg = TabMaster.AzaTbList.Where(p => p.aza03 == chkColName).Select(p => p.aza04).FirstOrDefault(); msg += "不可為空白"; errorProvider.SetError(chkControl, msg); WfShowErrorMsg(msg); return(false); } chkColName = "azp02"; chkControl = ute_azp02; if (GlobalFn.varIsNull(masterModel.azp02)) { this.uTab_Master.SelectedTab = uTab_Master.Tabs[0]; chkControl.Focus(); msg = TabMaster.AzaTbList.Where(p => p.aza03 == chkColName).Select(p => p.aza04).FirstOrDefault(); msg += "不可為空白"; errorProvider.SetError(chkControl, msg); WfShowErrorMsg(msg); return(false); } chkColName = "azp03"; chkControl = ute_azp03; if (GlobalFn.varIsNull(masterModel.azp03)) { this.uTab_Master.SelectedTab = uTab_Master.Tabs[0]; chkControl.Focus(); msg = TabMaster.AzaTbList.Where(p => p.aza03 == chkColName).Select(p => p.aza04).FirstOrDefault(); msg += "不可為空白"; errorProvider.SetError(chkControl, msg); WfShowErrorMsg(msg); return(false); } #endregion #region 單身資料檢查 iChkDetailTab = 0; uGrid = TabDetailList[iChkDetailTab].UGrid; foreach (DataRow drTemp in TabDetailList[iChkDetailTab].DtSource.Rows) { detailModel = drTemp.ToItem <vw_admi650s>(); #region azq03-資料表代碼 chkColName = "azq03"; if (GlobalFn.varIsNull(detailModel.azq03)) { 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 azq04-資料欄位代碼 chkColName = "azq04"; if (GlobalFn.varIsNull(detailModel.azq04)) { 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 azq06-資料元件類型 chkColName = "azq06"; if (GlobalFn.varIsNull(detailModel.azq06)) { 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; } }