/// <summary> /// 設定ROWID用 /// </summary> private void SetRowIDToDataTable(bool bDefaultSelectAll, EditingGridview gvType) { #region Int32 iRowID = 0; string SessionIDName = ""; System.Web.UI.HtmlControls.HtmlInputHidden hidden_RowID_Selected = null; DataTable dtTemp = null; if (gvType == EditingGridview.CAR) { dtTemp = dtCAR; hidden_RowID_Selected = hidden_RowID_Selected_CAR; } if (dtTemp != null && dtTemp.Rows.Count > 0) { foreach (DataRow dr in dtTemp.Rows) { dr["ROWID"] = iRowID.ToString(); if (bDefaultSelectAll) { hidden_RowID_Selected.Value += string.Format("[{0}],", iRowID); } iRowID++; } } //if (hidden_RowID_Selected.Value.Trim() != "" && hidden_RowID_Selected.Value.Substring(0, 1) == ";") //{ // hidden_RowID_Selected.Value = hidden_RowID_Selected.Value.Substring(1); //} #endregion }
/// <summary> /// 判斷明細資料檔是否有重複 /// </summary> /// <returns></returns> private bool CheckDetailIsDuplicated(EditingGridview editingGV) { #region bool bResult = true; Int32 i32Count = 0; DataView dv = null; string strErrMsg = ""; string strCurrentPK = "", strLastPK = ""; if (editingGV == EditingGridview.None || editingGV == EditingGridview.ROUTE) { #region ROUTE if (dtRoute != null && dtRoute.Rows.Count > 0) { dv = dtRoute.DefaultView; dv.Sort = "ROUTE"; //檢核PK是否重複 for (Int32 i = 0; i <= dtRoute.Rows.Count - 1; i++) { if (dtRoute.Rows[i].RowState != DataRowState.Deleted) { strCurrentPK = dtRoute.Rows[i]["ROUTE"].ToString(); if (strCurrentPK == strLastPK) { dtRoute.Rows[i]["CODE"] = "DUPLICATED"; bResult = false; break; } strLastPK = dtRoute.Rows[i]["ROUTE"].ToString(); } } } if (!bResult) { strErrMsg += " 路線資料維護有重複資料 "; } #endregion } if (editingGV == EditingGridview.None || editingGV == EditingGridview.PAY) { #region PAY if (dtPay != null && dtPay.Rows.Count > 0) { strCurrentPK = ""; strLastPK = ""; dv = dtPay.DefaultView; dv.Sort = "PAY_NO"; //檢核PK是否重複 for (Int32 i = 0; i <= dtPay.Rows.Count - 1; i++) { if (dtPay.Rows[i].RowState != DataRowState.Deleted) { strCurrentPK = dtPay.Rows[i]["PAY_NO"].ToString(); if (strCurrentPK == strLastPK) { dtPay.Rows[i]["CODE"] = "DUPLICATED"; bResult = false; break; } strLastPK = dtPay.Rows[i]["PAY_NO"].ToString(); } } if (!bResult) { strErrMsg += " 給付資料維護有重複資料 "; } else { #region old //strCurrentPK = ""; //strLastPK = ""; //dv = dtPay.DefaultView; //dv.Sort = "UNIT"; //DataTable dtTemp = dv.ToTable(); ////檢核是否有同樣單位之設定 //for (Int32 i = 0; i <= dtTemp.Rows.Count - 1; i++) //{ // if (dtTemp.Rows[i].RowState != DataRowState.Deleted) // { // strCurrentPK = dtTemp.Rows[i]["UNIT"].ToString(); // if (strCurrentPK == strLastPK) // { // dtTemp.Rows[i]["CODE"] = "DUPLICATED"; // bResult = false; // break; // } // strLastPK = dtTemp.Rows[i]["UNIT"].ToString(); // } //} //dtPay = dtTemp.Copy(); #endregion #region new 2011/04/29 marked 改以 CheckDetailDataIntervalIsValid() 做判斷 //DataRow[] drAry = null; //bool bDuplicated = false; ////檢核是否有同樣單位之設定 //for (Int32 i = 0; i <= dtPay.Rows.Count - 1; i++) //{ // if (dtPay.Rows[i].RowState != DataRowState.Deleted) // { // drAry = dtPay.Select(string.Format("UNIT='{0}'", dtPay.Rows[i]["UNIT"].ToString().Trim())); // if (drAry != null && drAry.Length > 1) // { // for (Int32 k = drAry.GetUpperBound(0); k >= 0; k--) // { // if (drAry[k].RowState != DataRowState.Deleted)// && drAry[k]["CODE"].ToString().Trim() != "") // { // drAry[k]["CODE"] = "DUPLICATED"; // bDuplicated = true; // break; // } // } // if (bDuplicated) // { // bResult = false; // break; // } // } // } //} #endregion if (!bResult) { strErrMsg += " 給付資料維護之單位設定有重複資料 "; } } } #endregion } if (strErrMsg != "") { throw new Exception(strErrMsg); ErrorMsgLabel.Text = strErrMsg; } return bResult; #endregion }