private void ViewOne(int comp_id, string est_id, string col_key) { Biz_ColumnInfos columnInfos = new Biz_ColumnInfos(comp_id, est_id, col_key); Biz_ColumnStyles columnStyles = new Biz_ColumnStyles(columnInfos.Col_Style_ID); txtSeq.Text = columnInfos.Seq.ToString(); txtColName.Text = columnInfos.Col_Name; WebUtility.FindByValueDropDownList(ddlColStyleID, columnInfos.Col_Style_ID); txtColKey.Text = columnInfos.Col_Key; txtCaption.Text = columnInfos.Caption; txtWidth.Text = columnInfos.Width.ToString(); WebUtility.FindByValueDropDownList(ddlDataType, columnInfos.Data_Type); WebUtility.FindByValueDropDownList(ddlHAlign, columnInfos.Halign); txtBackColor.Text = columnInfos.Back_Color; txtFormat.Text = columnInfos.Format; txtFormula.Text = columnInfos.Formula; txtDefaultValue.Text = columnInfos.Default_Value; txtColDesc.Text = columnInfos.Col_Desc; ckbBackColorYN.Checked = DataTypeUtility.GetYNToBoolean(columnInfos.Back_color_YN); ckbFormatYN.Checked = DataTypeUtility.GetYNToBoolean(columnInfos.Format_YN); ckbFormularYN.Checked = DataTypeUtility.GetYNToBoolean(columnInfos.Formula_YN); ckbDefaultValueYN.Checked = DataTypeUtility.GetYNToBoolean(columnInfos.Default_Value_YN); WebUtility.FindByValueRadioButtonList(rbnVisibleYN, columnInfos.Visible_YN); WebUtility.FindByValueRadioButtonList(rbnColEmpVisibleYN, columnInfos.Col_Emp_Visible_YN); //WebUtility.FindByValueRadioButtonList(rbnGradeToPointVisibleYN, columnInfos.Col_Grade_To_Point_Visible_YN); BindEstJob(COMP_ID, EST_ID, col_key); ddlColStyleID_SelectedIndexChanged(null, null); }
private void GridBinding(int comp_id) { Biz_ColumnInfos columnInfos = new Biz_ColumnInfos(); DataSet ds = columnInfos.GetColumnInfo(comp_id, EST_ID, ""); UltraWebGrid1.DataSource = ds; UltraWebGrid1.DataBind(); lblRowCount.Text = ds.Tables[0].Rows.Count.ToString(); }
protected void ibnCheckID_Click(object sender, ImageClickEventArgs e) { Biz_ColumnInfos columnInfos = new Biz_ColumnInfos(); bool bDuplicate = columnInfos.IsExist(COMP_ID, EST_ID, txtColKey.Text.Trim()); if (bDuplicate) { ltrScript.Text = JSHelper.GetAlertScript("동일한 컬럼키가 존재합니다."); return; } else { ltrScript.Text = JSHelper.GetAlertScript("사용가능한 컬럼키입니다."); return; } }
protected void itnDelete_Click(object sender, ImageClickEventArgs e) { string col_key = txtColKey.Text.Trim(); Biz_ColumnInfos columnInfos = new Biz_ColumnInfos(); bool bResult = columnInfos.RemoveColumnInfo(COMP_ID, EST_ID, col_key); if (bResult) { //ltrScript.Text = JSHelper.GetAlertScript("삭제되었습니다.", false); GridBinding(COMP_ID); ButtonStatusInit(); } else { ltrScript.Text = JSHelper.GetAlertScript("삭제되지 않았습니다."); } }
/// <summary> /// 평가 페이지에서 EST_ID에 따라서 컬럼을 동적으로 생성한다. /// </summary> /// <param name="ultraWebGrid"></param> /// <param name="est_id"></param> /// <param name="default_index_count"></param> /// <param name="dataTable"></param> public static void CreateColumns(UltraWebGrid ultraWebGrid , int comp_id , string est_id , int default_index_count , out DataTable dataTable , string owner_type , string[] est_job_ids , string dept_column_no_use_yn) { Biz_ColumnInfos columnInfo = new Biz_ColumnInfos(); Biz_EstInfos estInfo = new Biz_EstInfos(comp_id, est_id); dataTable = columnInfo.GetColumnInfo(comp_id, est_id).Tables[0]; DataRow dataRow = null; UltraGridColumn ultraGridCol = null; int i = 0; owner_type = estInfo.Owner_Type; Biz_JobColumnMaps jobColumnMap = new Biz_JobColumnMaps(); DataTable dtColumnMap = null; Biz_PositionInfos positionInfo = new Biz_PositionInfos(); DataTable dtPosNotUse = positionInfo.GetPositionInfoByUseYN("N").Tables[0]; foreach (string est_job_id in est_job_ids) { if (dtColumnMap == null) { dtColumnMap = jobColumnMap.GetJobColumnMap(comp_id , est_id , est_job_id).Tables[0]; } else { dtColumnMap.Merge(dtColumnMap); } } for (int j = ultraWebGrid.Bands[0].Columns.Count; j > default_index_count; j--) { ultraWebGrid.Bands[0].Columns.RemoveAt(j - 1); ultraWebGrid.DisplayLayout.Bands[0].HeaderLayout.RemoveAt(j - 1); } for (; i < dataTable.Rows.Count; i++) { dataRow = dataTable.Rows[i]; //--------------------- 일반 컬럼일 경우 if (dataRow["COL_STYLE_ID"].ToString().Equals("NML")) { ultraGridCol = new UltraGridColumn(); ultraWebGrid.Bands[0].Columns.Add(ultraGridCol); ultraGridCol.Header.Caption = dataRow["CAPTION"].ToString(); ultraGridCol.Header.Column.Width = (dataRow["WIDTH"] == DBNull.Value) ? 100 : DataTypeUtility.GetToInt32(dataRow["WIDTH"]); ultraGridCol.Header.Column.Key = dataRow["COL_KEY"].ToString(); if (DataTypeUtility.GetYNToBoolean(dataRow["DEFAULT_VALUE_YN"].ToString()) == false) { ultraGridCol.Header.Column.BaseColumnName = dataRow["COL_KEY"].ToString(); } ultraGridCol.Header.RowLayoutColumnInfo.OriginX = i + default_index_count + -1; ultraGridCol.CellStyle.HorizontalAlign = UltraGridUtility.GetHorizontalAlign(dataRow["HALIGN"]); ultraGridCol.DataType = dataRow["DATA_TYPE"].ToString(); ultraGridCol.Hidden = !DataTypeUtility.GetYNToBoolean(dataRow["VISIBLE_YN"].ToString()); if (DataTypeUtility.GetYNToBoolean(dataRow["BACK_COLOR_YN"].ToString())) { if (dataRow["BACK_COLOR"] != DBNull.Value || dataRow["BACK_COLOR"].ToString().Trim().Equals("")) { ultraGridCol.CellStyle.BackColor = Color.FromName(dataRow["BACK_COLOR"].ToString()); } } if (DataTypeUtility.GetYNToBoolean(dataRow["FORMAT_YN"].ToString())) { if (dataRow["FORMAT"] != DBNull.Value || dataRow["FORMAT"].ToString().Trim().Equals("")) { ultraGridCol.Format = dataRow["FORMAT"].ToString(); } } if (DataTypeUtility.GetYNToBoolean(dataRow["FORMULA_YN"].ToString())) { if (dataRow["FORMULA_YN"] != DBNull.Value || dataRow["FORMULA_YN"].ToString().Trim().Equals("")) { ultraGridCol.Format = dataRow["FORMULA"].ToString(); } } if (DataTypeUtility.GetYNToBoolean(dataRow["DEFAULT_VALUE_YN"].ToString())) { if (dataRow["DEFAULT_VALUE_YN"] != DBNull.Value || dataRow["DEFAULT_VALUE_YN"].ToString().Trim().Equals("")) { ultraGridCol.NullText = WebUtility.GetHtmlEncodeChar(dataRow["DEFAULT_VALUE"].ToString()); } } // 평가 주체가 부서인경우 (사원컬럼이면 보이기를 숨김으로 한다) if (owner_type.Equals("D") && dept_column_no_use_yn.Equals("N")) { if (dataRow["COL_EMP_VISIBLE_YN"].ToString().Equals("Y")) { ultraGridCol.Hidden = true; } } else if (owner_type.Equals("P") && dept_column_no_use_yn.Equals("Y")) { if (dataRow["COL_EMP_VISIBLE_YN"].ToString().Equals("Y")) { ultraGridCol.Hidden = true; } } VisiblePosColumn(dtPosNotUse, ultraGridCol, dataRow["COL_KEY"].ToString()); } //--------------------- 존재하는 컬럼일 경우 else if (dataRow["COL_STYLE_ID"].ToString().Equals("BLK")) { try { ultraWebGrid.Bands[0].Columns.FromKey(dataRow["COL_KEY"].ToString()).Hidden = !DataTypeUtility.GetYNToBoolean(dataRow["VISIBLE_YN"].ToString()); } catch { } } //--------------------- 업무관련 컬럼 else if (dataRow["COL_STYLE_ID"].ToString().Equals("BIZ")) { ultraGridCol = new UltraGridColumn(); ultraWebGrid.Bands[0].Columns.Add(ultraGridCol); ultraGridCol.Header.Caption = dataRow["CAPTION"].ToString(); ultraGridCol.Header.Column.Width = (dataRow["WIDTH"] == DBNull.Value) ? 100 : DataTypeUtility.GetToInt32(dataRow["WIDTH"]); ultraGridCol.Header.Column.Key = dataRow["COL_KEY"].ToString(); if (DataTypeUtility.GetYNToBoolean(dataRow["DEFAULT_VALUE_YN"].ToString()) == false) { ultraGridCol.Header.Column.BaseColumnName = dataRow["COL_KEY"].ToString(); } ultraGridCol.Header.RowLayoutColumnInfo.OriginX = i + default_index_count + -1; ultraGridCol.CellStyle.HorizontalAlign = UltraGridUtility.GetHorizontalAlign(dataRow["HALIGN"]); ultraGridCol.DataType = dataRow["DATA_TYPE"].ToString(); // 미리 숨김을 함 ultraGridCol.Hidden = true; if (DataTypeUtility.GetYNToBoolean(dataRow["BACK_COLOR_YN"].ToString())) { if (dataRow["BACK_COLOR"] != DBNull.Value || dataRow["BACK_COLOR"].ToString().Trim().Equals("")) { ultraGridCol.CellStyle.BackColor = Color.FromName(dataRow["BACK_COLOR"].ToString()); } } if (DataTypeUtility.GetYNToBoolean(dataRow["FORMAT_YN"].ToString())) { if (dataRow["FORMAT"] != DBNull.Value || dataRow["FORMAT"].ToString().Trim().Equals("")) { ultraGridCol.Format = dataRow["FORMAT"].ToString(); } } if (DataTypeUtility.GetYNToBoolean(dataRow["FORMULA_YN"].ToString())) { if (dataRow["FORMULA_YN"] != DBNull.Value || dataRow["FORMULA_YN"].ToString().Trim().Equals("")) { ultraGridCol.Format = dataRow["FORMULA_YN"].ToString(); } } if (DataTypeUtility.GetYNToBoolean(dataRow["DEFAULT_VALUE_YN"].ToString())) { if (dataRow["DEFAULT_VALUE_YN"] != DBNull.Value || dataRow["DEFAULT_VALUE_YN"].ToString().Trim().Equals("")) { ultraGridCol.NullText = WebUtility.GetHtmlEncodeChar(dataRow["DEFAULT_VALUE"].ToString()); } } // COL_KEY 와 EST_JOB_ID 간에 매핑에 따라 보여주기 여부 처리 foreach (DataRow drColMap in dtColumnMap.Rows) { if (ultraGridCol.Hidden == true) { if (drColMap["COL_KEY"].ToString() == dataRow["COL_KEY"].ToString()) { ultraGridCol.Hidden = false; break; } } } if (ultraGridCol.Hidden == false) { ultraGridCol.Hidden = !DataTypeUtility.GetYNToBoolean(dataRow["VISIBLE_YN"].ToString()); } // 평가 주체가 부서인경우 (사원컬럼이면 보이기를 숨김으로 한다) if (owner_type.Equals("D") && dept_column_no_use_yn.Equals("N")) { if (dataRow["COL_EMP_VISIBLE_YN"].ToString().Equals("Y")) { ultraGridCol.Hidden = true; } } else if (owner_type.Equals("P") && dept_column_no_use_yn.Equals("Y")) { if (dataRow["COL_EMP_VISIBLE_YN"].ToString().Equals("Y")) { ultraGridCol.Hidden = true; } } VisiblePosColumn(dtPosNotUse, ultraGridCol, dataRow["COL_KEY"].ToString()); } } }
protected void ibnSave_Click(object sender, ImageClickEventArgs e) { int seq = DataTypeUtility.GetToInt32(txtSeq.Text.Trim()); string col_name = txtColName.Text.Trim(); string col_style_id = WebUtility.GetByValueDropDownList(ddlColStyleID); string col_key = txtColKey.Text.Trim(); string caption = txtCaption.Text.Trim(); int width = DataTypeUtility.GetToInt32(txtWidth.Text.Trim()); string data_type = WebUtility.GetByValueDropDownList(ddlDataType); string halign = WebUtility.GetByValueDropDownList(ddlHAlign); string back_color = txtBackColor.Text.Trim(); string format = txtFormat.Text; string formula = txtFormula.Text.Trim(); string defaultValue = txtDefaultValue.Text.Trim(); string col_desc = txtColDesc.Text.Trim(); string back_color_yn = DataTypeUtility.GetBooleanToYN(ckbBackColorYN.Checked); string format_yn = DataTypeUtility.GetBooleanToYN(ckbFormatYN.Checked); string formula_yn = DataTypeUtility.GetBooleanToYN(ckbFormularYN.Checked); string defaultValue_yn = DataTypeUtility.GetBooleanToYN(ckbDefaultValueYN.Checked); string visible_yn = WebUtility.GetByValueRadioButtonList(rbnVisibleYN); string col_emp_visible_yn = WebUtility.GetByValueRadioButtonList(rbnColEmpVisibleYN); Biz_ColumnInfos columnInfos = new Biz_ColumnInfos(); if (PageWriteMode == WriteMode.New) { bool bDuplicate = columnInfos.IsExist(COMP_ID, EST_ID, col_key); if (bDuplicate) { ltrScript.Text = JSHelper.GetAlertScript("동일한 컬럼키가 존재합니다."); return; } bool bResult = columnInfos.AddColumnInfo(COMP_ID , EST_ID , seq , col_name , col_style_id , col_key , caption , width , data_type , halign , back_color , format , formula , defaultValue , col_desc , back_color_yn , format_yn , formula_yn , defaultValue_yn , visible_yn , col_emp_visible_yn , DateTime.Now , EMP_REF_ID ); bool isOK = SaveEstJobColumnMap(!trEstJob.Visible); if (bResult) { //ltrScript.Text = JSHelper.GetAlertScript("정상적으로 저장되었습니다."); GridBinding(COMP_ID); ButtonStatusInit(); } else { ltrScript.Text = JSHelper.GetAlertScript("처리 중 오류가 발생하였습니다."); return; } } else if (PageWriteMode == WriteMode.Modify) { bool bResult = columnInfos.ModifyColumnInfo(COMP_ID , EST_ID , seq , col_name , col_style_id , col_key , caption , width , data_type , halign , back_color , format , formula , defaultValue , col_desc , back_color_yn , format_yn , formula_yn , defaultValue_yn , visible_yn , col_emp_visible_yn , DateTime.Now , EMP_REF_ID ); bool isOK = SaveEstJobColumnMap(!trEstJob.Visible); if (bResult) { //ltrScript.Text = JSHelper.GetAlertScript("정상적으로 수정되었습니다."); //GridBinding(COMP_ID); //ButtonStatusInit(); } else { ltrScript.Text = JSHelper.GetAlertScript("수정되지 않았습니다."); return; } } }
/// <summary> /// 그리드 바인딩 메소드 /// </summary> /// <param name="comp_id"></param> /// <param name="est_id"></param> /// <param name="estterm_ref_id"></param> /// <param name="estterm_sub_id"></param> /// <param name="estterm_step_id"></param> private void GridBidingData(int comp_id , string est_id , int estterm_ref_id , int estterm_sub_id , int estterm_step_id) { Biz_EstInfos estInfo = new Biz_EstInfos(comp_id, est_id); if (!estInfo.IsExists(comp_id, est_id)) { return; } // 만약 주기가 년간일 경우 if (YEAR_YN.Equals("Y")) { ESTTERM_SUB_ID = BizUtility.GetEstTermSubIDByYearYN(COMP_ID); } // 만약 차수가 합산일 경우 if (MERGE_YN.Equals("Y")) { ESTTERM_STEP_ID = BizUtility.GetEstTermStepIDByMergeYN(COMP_ID); } if (estInfo.Owner_Type != null && estInfo.Owner_Type.Equals("D")) { OwnerTypeMode = OwnerType.Dept; } else { OwnerTypeMode = OwnerType.Emp_User; } //if (estInfo.Owner_Type.Equals("D")) // OwnerTypeMode = OwnerType.Dept; //else // OwnerTypeMode = OwnerType.Emp_User; ScaleTypeMode = estInfo.Scale_Type; WeightTypeMode = estInfo.Weight_Type; if (estInfo.Bias_YN.Equals("Y")) { BiasYN = YesNo.Yes; } else { BiasYN = YesNo.No; } if (estInfo.Grade_Confirm_YN.Equals("Y")) { GradeConfirmYN = YesNo.Yes; } else { GradeConfirmYN = YesNo.No; } Biz_Datas est_data = new Biz_Datas(); int est_emp_id = 0;; int tgt_dept_id = 0; int tgt_emp_id = 0; if (OwnerTypeMode == OwnerType.Dept && DEPT_COLUMN_NO_USE_YN.Equals("Y")) { OwnerTypeMode = OwnerType.Emp_User; } else if (OwnerTypeMode == OwnerType.Emp_User && DEPT_COLUMN_NO_USE_YN.Equals("Y")) { OwnerTypeMode = OwnerType.Dept; } if (OwnerTypeMode == OwnerType.Dept) { if (EST_TGT_TYPE.Equals("EST")) { est_emp_id = 0; tgt_dept_id = TGT_DEPT_ID; tgt_emp_id = -1; } else if (EST_TGT_TYPE.Equals("TGT")) { est_emp_id = 0; tgt_dept_id = TGT_DEPT_ID; tgt_emp_id = -1; } } else if (OwnerTypeMode == OwnerType.Emp_User) { if (EST_TGT_TYPE.Equals("EST")) { est_emp_id = 0; tgt_dept_id = 0; tgt_emp_id = TGT_EMP_ID; } else if (EST_TGT_TYPE.Equals("TGT")) { est_emp_id = 0; tgt_dept_id = 0; tgt_emp_id = TGT_EMP_ID; } } DT_EST_DATA = est_data.GetEstData(comp_id , est_id , ESTTERM_REF_ID , ESTTERM_SUB_ID , ESTTERM_STEP_ID , 0 , est_emp_id , tgt_dept_id , tgt_emp_id , YEAR_YN , MERGE_YN , OwnerTypeMode).Tables[0]; // 조회된 데이터가 존재할 경우 if (DT_EST_DATA != null) { // 만약 가중치 보이기 Y 일때 if (COL_WEIGHT_VISIBLE_YN.Equals("Y")) { //2012.01.16 박효동 : 하위평가를 가져오니 문제가 있어서 수정 // - MBO의 하위평가를 가져오도록 평가컬럼설정이 되있는데 현재는 현재평가의 하위차수를 가져오니 안나오더라 // - 해서 평가컬럼설정에 등록되어있는 POINT_평가아이디에 해당하는 평가아이디를 가져오도록 수정 휴~~ // 하위평가 정보를 가지고 온다. //DataTable _dtEstID = estInfo.GetEstInfoByUpEstID(comp_id, est_id).Tables[0]; DataTable _dtEstID = estInfo.GetEstInfoByUpEstID(comp_id, est_id).Tables[0]; _dtEstID.Rows.Clear(); Biz_ColumnInfos colInfo = new Biz_ColumnInfos(); DataTable dtEstID = colInfo.GetColumnInfo(COMP_ID, EST_ID).Tables[0]; foreach (DataRow dr in dtEstID.Rows) { string colnames = dr[6].ToString(); if (colnames.Length > 5) { if (colnames.Substring(0, 6) == "POINT_" && colnames.Length == 8) { DataRow insertDR = _dtEstID.NewRow(); insertDR["EST_ID"] = colnames.Remove(0, 6); _dtEstID.Rows.Add(insertDR); insertDR = null; } } } foreach (DataRow dataRow in _dtEstID.Rows) { DT_EST_DATA.Columns.Add(string.Format("WEIGHT_{0}", dataRow["EST_ID"]), typeof(double)); // 평가별 점수 보이기 여부에 따라 if (COL_POINT_VISIBLE_YN.Equals("Y")) { DT_EST_DATA.Columns.Add(string.Format("POINT_{0}", dataRow["EST_ID"]), typeof(double)); DataTable dtEstData = est_data.GetData(comp_id , dataRow["EST_ID"].ToString() , ESTTERM_REF_ID , ESTTERM_SUB_ID , ESTTERM_STEP_ID , 0 , est_emp_id , tgt_dept_id , tgt_emp_id , YEAR_YN , MERGE_YN , OwnerTypeMode).Tables[0]; foreach (DataRow drEstData in dtEstData.Rows) { DataRow[] drArrEstData = DT_EST_DATA.Select(string.Format(@"ESTTERM_REF_ID = {0} AND ESTTERM_SUB_ID = {1} AND ESTTERM_STEP_ID = {2} AND TGT_DEPT_ID = {3} AND TGT_EMP_ID = {4}" , drEstData["ESTTERM_REF_ID"] , drEstData["ESTTERM_SUB_ID"] , drEstData["ESTTERM_STEP_ID"] , drEstData["TGT_DEPT_ID"] , drEstData["TGT_EMP_ID"])); if (drArrEstData.Length > 0) { drArrEstData[0][string.Format("POINT_{0}", dataRow["EST_ID"])] = drEstData["POINT"]; } } } } } // 등급 컬럼 보이기가 Y 일경우 (이건 DT_EST_DATA 과 관계 없음) if (COL_GRADE_VISIBLE_YN.Equals("Y") || COL_GRADE_TO_POINT_VISIBLE_YN.Equals("Y")) { Biz_DeptEstDetails deptEstDetail = new Biz_DeptEstDetails(); DT_DEPT_SCALE = deptEstDetail.GetDeptEstDetail(comp_id, estterm_ref_id, 0, est_id).Tables[0]; Biz_DeptPosScales deptPosScale = new Biz_DeptPosScales(); DT_POS_SCALE = deptPosScale.GetDeptPosScale(comp_id, estterm_ref_id, 0, est_id).Tables[0]; Biz_Scopes scope = new Biz_Scopes(); DT_SCOPE = scope.GetScope(comp_id, est_id).Tables[0]; DT_EST_DATA.Columns.Add("RANK", typeof(double)); DT_EST_DATA.Columns.Add("SCALE_ID", typeof(string)); DT_EST_DATA.Columns.Add("SCALE_NAME", typeof(string)); DT_EST_DATA.Columns.Add("GRADE_CALC_ID", typeof(string)); } if (COL_ESTTERM_SUB_AGG_VISIBLE_YN.Equals("Y")) { } if (COL_ESTTERM_STEP_AGG_VISIBLE_YN.Equals("Y")) { } if (COL_CTRL_POINT_VISIBLE_YN.Equals("Y") || COL_CTRL_GRADE_VISIBLE_YN.Equals("Y")) { Biz_CtrlEstMaps ctrlEstDeptMap = new Biz_CtrlEstMaps(); DT_CTRL_INFO = ctrlEstDeptMap.GetCtrlInfoByEstID(COMP_ID, EST_ID).Tables[0]; DT_CTRL_EST_DEPT_MAP = ctrlEstDeptMap.GetCtrlEstDeptByEstID(COMP_ID, EST_ID).Tables[0]; if (COL_CTRL_POINT_VISIBLE_YN.Equals("Y")) { Biz_CtrlPointDatas ctrlPointData = new Biz_CtrlPointDatas(); DT_CTRL_POINT_DATA = ctrlPointData.GetCtrlPointData(comp_id , est_id , estterm_ref_id , estterm_sub_id , estterm_step_id , 0 , 0 , 0 , 0).Tables[0]; } if (COL_CTRL_GRADE_VISIBLE_YN.Equals("Y")) { Biz_CtrlGradeDatas ctrlGradeData = new Biz_CtrlGradeDatas(); DT_CTRL_GRADE_DATA = ctrlGradeData.GetCtrlGradeData(comp_id , est_id , estterm_ref_id , estterm_sub_id , estterm_step_id , 0 , 0 , 0 , 0).Tables[0]; } } UltraWebGrid1.Clear(); UltraWebGrid1.DataSource = DT_EST_DATA; UltraWebGrid1.DataBind(); } }