private void BindItem() { View_DifferenceAnalyse filter = new View_DifferenceAnalyse { ItemID = ReportItems[CurrentItemIndex].ItemID }; DataTable dt = Service.QueryAnalyseReport(filter, null, null).Tables[0]; BindDataControl(fvItem, dt); if (dt.Rows.Count > 0 && ((dt.Rows[0]["AvailableDiff"] == DBNull.Value || (decimal)dt.Rows[0]["AvailableDiff"] == 0) && (dt.Rows[0]["QIDiff"] == DBNull.Value || (decimal)dt.Rows[0]["QIDiff"] == 0) && (dt.Rows[0]["BlockDiff"] == DBNull.Value || (decimal)dt.Rows[0]["BlockDiff"] == 0))) { _nodifference = true; } ReportColumnsList = new List <string>(); for (int i = 0; i < dt.Columns.Count; i++) { ReportColumnsList.Add(dt.Columns[i].ColumnName); } int startIndex = ReportColumnsList.IndexOf("AvailableItem"); int endIndex = ReportColumnsList.IndexOf("QIItem"); int dunsCount = endIndex - startIndex - 1; #region add dynamic columns if (dunsCount > 0) { for (int i = startIndex + 1; i < endIndex; i++) { //available BoundField fieldAvailable_Sys = new BoundField(); fieldAvailable_Sys.DataField = ReportColumnsList[i] + "_Sys"; BoundField fieldAvailable_Value = new BoundField(); fieldAvailable_Value.DataField = ReportColumnsList[i]; //BoundField fieldAvailable_DiffSum = new BoundField(); //fieldAvailable_DiffSum.DataField = ReportColumnsList[i] + "_DiffSum"; //fieldAvailable_DiffSum.DataFormatString = "c"; BoundField fieldAvailable_Diff = new BoundField(); fieldAvailable_Diff.DataField = ReportColumnsList[i] + "_Diff"; BoundField fieldAvailable_Adjust = new BoundField(); fieldAvailable_Adjust.DataField = ReportColumnsList[i] + "_Adjust"; gvItem.Columns.Insert(gvItem.Columns.Count - 4, fieldAvailable_Sys); gvItem.Columns.Insert(gvItem.Columns.Count - 4, fieldAvailable_Value); gvItem.Columns.Insert(gvItem.Columns.Count - 4, fieldAvailable_Diff); //gvItem.Columns.Insert(gvItem.Columns.Count - 4, fieldAvailable_DiffSum); gvItem.Columns.Insert(gvItem.Columns.Count - 4, fieldAvailable_Adjust); //qi BoundField fieldQI_Sys = new BoundField(); fieldQI_Sys.DataField = ReportColumnsList[i] + "_Sys"; BoundField fieldQI_Value = new BoundField(); fieldQI_Value.DataField = ReportColumnsList[i + dunsCount + 1]; //BoundField fieldQI_DiffSum = new BoundField(); //fieldQI_DiffSum.DataField = ReportColumnsList[i + dunsCount + 1] + "_DiffSum"; //fieldQI_DiffSum.DataFormatString = "C"; BoundField fieldQI_Diff = new BoundField(); fieldQI_Diff.DataField = ReportColumnsList[i + dunsCount + 1] + "_Diff"; BoundField fieldQI_Adjust = new BoundField(); fieldQI_Adjust.DataField = ReportColumnsList[i + dunsCount + 1] + "_Adjust"; gvItem.Columns.Insert(gvItem.Columns.Count - 4, fieldQI_Sys); gvItem.Columns.Insert(gvItem.Columns.Count - 4, fieldQI_Value); gvItem.Columns.Insert(gvItem.Columns.Count - 4, fieldQI_Diff); //gvItem.Columns.Insert(gvItem.Columns.Count - 4, fieldQI_DiffSum); gvItem.Columns.Insert(gvItem.Columns.Count - 4, fieldQI_Adjust); //block BoundField fieldBlk_Sys = new BoundField(); fieldBlk_Sys.DataField = ReportColumnsList[i + 2 * dunsCount + 2] + "_Sys"; BoundField fieldBlk_Value = new BoundField(); fieldBlk_Value.DataField = ReportColumnsList[i + 2 * dunsCount + 2]; //BoundField fieldBlk_DiffSum = new BoundField(); //fieldBlk_DiffSum.DataField = ReportColumnsList[i + 2 * dunsCount + 2] + "_DiffSum"; //fieldBlk_DiffSum.DataFormatString = "C"; BoundField fieldBlk_Diff = new BoundField(); fieldBlk_Diff.DataField = ReportColumnsList[i + 2 * dunsCount + 2] + "_Diff"; BoundField fieldBlk_Adjust = new BoundField(); fieldBlk_Adjust.DataField = ReportColumnsList[i + 2 * dunsCount + 2] + "_Adjust"; gvItem.Columns.Insert(gvItem.Columns.Count - 4, fieldBlk_Sys); gvItem.Columns.Insert(gvItem.Columns.Count - 4, fieldBlk_Value); gvItem.Columns.Insert(gvItem.Columns.Count - 4, fieldBlk_Diff); //gvItem.Columns.Insert(gvItem.Columns.Count - 4, fieldBlk_DiffSum); gvItem.Columns.Insert(gvItem.Columns.Count - 4, fieldBlk_Adjust); } } #endregion BindDataControl(gvItem, dt); }
public DataSet QueryAnalyseReport(View_DifferenceAnalyse filter, DateTime?timeStart, DateTime?timeEnd) { return(Channel.QueryAnalyseReport(filter, timeStart, timeEnd)); }
public void Query() { if (viewNewAnalyse.Visible && rblOption.Items[0].Selected)//View == "viewNewAnalyse" { if (string.IsNullOrEmpty(txtNoticeNo.Text.Trim())) { return; } View_StocktakeDetails filter = BuildNewAnalyseCondition(); int itemCount; int pageCount; List <View_StocktakeDetails> detailsList = Service.QueryFullFilledNotiDetailsByPage(filter, pagerNew.PageSize, pagerNew.CurrentPage, out pageCount, out itemCount); pagerNew.TotalRecord = itemCount; BindDataControl(gvNew, detailsList); } else { View_DifferenceAnalyse filter = new View_DifferenceAnalyse(); DateTime?timeStart = null; DateTime?timeEnd = null; if (viewAnalyse.Visible)//(View == "Analyse") { if (!string.IsNullOrEmpty(txtRptNoticeNo.Text.Trim())) { filter.NotificationCode = txtRptNoticeNo.Text.Trim(); } if (!string.IsNullOrEmpty(txtRptFU.Text.Trim())) { filter.FollowUp = txtRptFU.Text.Trim(); } if (!string.IsNullOrEmpty(txtRptPartCName.Text.Trim())) { filter.PartChineseName = txtRptPartCName.Text.Trim(); } if (!string.IsNullOrEmpty(txtRptPartNo.Text.Trim())) { filter.PartCode = txtRptPartNo.Text.Trim(); } if (!string.IsNullOrEmpty(txtRptSpecs.Text.Trim())) { filter.Specs = txtRptSpecs.Text.Trim(); } if (!string.IsNullOrEmpty(txtRptTimeFrom.Text.Trim())) { timeStart = Convert.ToDateTime(txtRptTimeFrom.Text.Trim()); } if (!string.IsNullOrEmpty(txtRptTimeTo.Text.Trim())) { timeEnd = Convert.ToDateTime(txtRptTimeTo.Text.Trim()); } if (!string.IsNullOrEmpty(ddlRptStatus.SelectedValue)) { filter.Status = int.Parse(ddlRptStatus.SelectedValue); } if (!string.IsNullOrEmpty(ddlRptPlant.SelectedValue)) { filter.PartPlantCode = ddlRptPlant.SelectedItem.Text; } if (!string.IsNullOrEmpty(ddlRptWorkshop.SelectedValue)) { filter.Workshops = ddlRptWorkshop.SelectedItem.Text; } if (!string.IsNullOrEmpty(ddlRptSegment.SelectedValue)) { filter.Segments = ddlRptSegment.SelectedItem.Text; } } else { if (viewNewAnalyse.Visible) { if (!string.IsNullOrEmpty(txtNoticeNo.Text)) { filter.NotificationCode = txtNoticeNo.Text; } else { return; } if (!string.IsNullOrEmpty(txtPartCName.Text)) { filter.PartChineseName = txtPartCName.Text; } if (!string.IsNullOrEmpty(txtPartNo.Text)) { filter.PartCode = txtPartNo.Text; } if (!string.IsNullOrEmpty(txtSpecs.Text)) { filter.Specs = txtSpecs.Text; } if (!string.IsNullOrEmpty(txtFollowUp.Text)) { filter.FollowUp = txtFollowUp.Text; } if (!string.IsNullOrEmpty(txtAnalyzer.Text)) { filter.AnalysedByUser = txtAnalyzer.Text; } if (!string.IsNullOrEmpty(ddlStatus.SelectedValue)) { filter.Status = int.Parse(ddlStatus.SelectedValue); } } else { if (!string.IsNullOrEmpty(txtMgrNoticeNo.Text)) { filter.NotificationCode = txtMgrNoticeNo.Text; } if (!string.IsNullOrEmpty(txtMgrPartCName.Text)) { filter.PartChineseName = txtMgrPartCName.Text; } if (!string.IsNullOrEmpty(txtMgrPartNo.Text)) { filter.PartCode = txtMgrPartNo.Text; } if (!string.IsNullOrEmpty(txtMgrSpecs.Text)) { filter.Specs = txtMgrSpecs.Text; } if (!string.IsNullOrEmpty(txtMgrFollowUp.Text)) { filter.FollowUp = txtMgrFollowUp.Text; } if (!string.IsNullOrEmpty(txtMgrAnalyzer.Text)) { filter.AnalysedByUser = txtMgrAnalyzer.Text; } if (!string.IsNullOrEmpty(ddlMgrStatus.SelectedValue)) { filter.Status = int.Parse(ddlMgrStatus.SelectedValue); } if (ddlDiff.SelectedIndex > 0) { int amount; if (!string.IsNullOrEmpty(txtDiffAmount.Text.Trim())) { amount = int.Parse(ddlDiff.SelectedItem.Value + txtDiffAmount.Text.Trim(), NumberStyles.AllowLeadingSign); filter.DiffAmount = amount; if (amount >= 0) { filter.DiffFilter = ddiDiffAmountOp.SelectedItem.Text + amount; } else { filter.DiffFilter = ddiDiffAmountOp.SelectedValue + amount; } } decimal sum; if (!string.IsNullOrEmpty(txtDiffSum.Text.Trim())) { sum = decimal.Parse(ddlDiff.SelectedItem.Value + txtDiffSum.Text.Trim(), NumberStyles.AllowLeadingSign); filter.DiffSumFilter = sum + ""; if (sum >= 0) { filter.DiffSumFilter = ddiDiffSumOp.SelectedItem.Text + sum; } else { filter.DiffFilter = ddiDiffSumOp.SelectedValue + sum; } } filter.ProfitLossFilter = (ddlDiff.SelectedValue == "+") ? ">0" : "<0"; if (!string.IsNullOrEmpty(txtDiffTimes.Text.Trim())) { int times = int.Parse(txtDiffTimes.Text.Trim()); filter.TimesFilter = ddlDiffTimesOp.SelectedValue + times; } } } } DataTable dt = Service.QueryAnalyseReport(filter, timeStart, timeEnd).Tables[0]; FilteredDetails = new List <int>(); for (int i = 0; i < dt.Rows.Count; i++) { DataRow row = dt.Rows[i]; FilteredDetails.Add(int.Parse(row["DetailsID"].ToString())); } ReportColumnsList = new List <string>(); for (int i = 0; i < dt.Columns.Count; i++) { ReportColumnsList.Add(dt.Columns[i].ColumnName); } int startIndex = ReportColumnsList.IndexOf("AvailableItem"); int endIndex = ReportColumnsList.IndexOf("QIItem"); int dunsCount = endIndex - startIndex - 1; #region add dynamic columns if (dunsCount > 0) { for (int i = startIndex + 1; i < endIndex; i++) { //available BoundField fieldAvailable_Sys = new BoundField(); fieldAvailable_Sys.DataField = ReportColumnsList[i] + "_Sys"; fieldAvailable_Sys.DataFormatString = "{0:#.####}"; BoundField fieldAvailable_Value = new BoundField(); fieldAvailable_Value.DataField = ReportColumnsList[i]; fieldAvailable_Value.DataFormatString = "{0:#.####}"; BoundField fieldAvailable_DiffSum = new BoundField(); fieldAvailable_DiffSum.DataField = ReportColumnsList[i] + "_DiffSum"; fieldAvailable_DiffSum.DataFormatString = "{0:c}"; BoundField fieldAvailable_Diff = new BoundField(); fieldAvailable_Diff.DataField = ReportColumnsList[i] + "_Diff"; fieldAvailable_Diff.DataFormatString = "{0:#.####}"; gvAnalysis.Columns.Insert(gvAnalysis.Columns.Count - 6, fieldAvailable_Sys); gvAnalysis.Columns.Insert(gvAnalysis.Columns.Count - 6, fieldAvailable_Value); gvAnalysis.Columns.Insert(gvAnalysis.Columns.Count - 6, fieldAvailable_Diff); gvAnalysis.Columns.Insert(gvAnalysis.Columns.Count - 6, fieldAvailable_DiffSum); //gvAnalysis.Columns.Insert(gvAnalysis.Columns.Count - 4, fieldAvailable_Adjust); //qi BoundField fieldQI_Sys = new BoundField(); fieldQI_Sys.DataField = ReportColumnsList[i + dunsCount + 1] + "_Sys"; fieldQI_Sys.DataFormatString = "{0:#.####}"; BoundField fieldQI_Value = new BoundField(); fieldQI_Value.DataField = ReportColumnsList[i + dunsCount + 1]; fieldQI_Value.DataFormatString = "{0:#.####}"; BoundField fieldQI_DiffSum = new BoundField(); fieldQI_DiffSum.DataField = ReportColumnsList[i + dunsCount + 1] + "_DiffSum"; fieldQI_DiffSum.DataFormatString = "{0:c}"; BoundField fieldQI_Diff = new BoundField(); fieldQI_Diff.DataField = ReportColumnsList[i + dunsCount + 1] + "_Diff"; fieldQI_Diff.DataFormatString = "{0:#.####}"; //BoundField fieldQI_Adjust = new BoundField(); //fieldQI_Adjust.DataField = ReportColumnsList[i + dunsCount + 1] + "_Adjust"; gvAnalysis.Columns.Insert(gvAnalysis.Columns.Count - 6, fieldQI_Sys); gvAnalysis.Columns.Insert(gvAnalysis.Columns.Count - 6, fieldQI_Value); gvAnalysis.Columns.Insert(gvAnalysis.Columns.Count - 6, fieldQI_Diff); gvAnalysis.Columns.Insert(gvAnalysis.Columns.Count - 6, fieldQI_DiffSum); //gvAnalysis.Columns.Insert(gvAnalysis.Columns.Count - 4, fieldQI_Adjust); //block BoundField fieldBlk_Sys = new BoundField(); fieldBlk_Sys.DataField = ReportColumnsList[i + 2 * dunsCount + 2] + "_Sys"; fieldBlk_Sys.DataFormatString = "{0:#.####}"; BoundField fieldBlk_Value = new BoundField(); fieldBlk_Value.DataField = ReportColumnsList[i + 2 * dunsCount + 2]; fieldBlk_Value.DataFormatString = "{0:#.####}"; BoundField fieldBlk_DiffSum = new BoundField(); fieldBlk_DiffSum.DataField = ReportColumnsList[i + 2 * dunsCount + 2] + "_DiffSum"; fieldBlk_DiffSum.DataFormatString = "{0:c}"; BoundField fieldBlk_Diff = new BoundField(); fieldBlk_Diff.DataField = ReportColumnsList[i + 2 * dunsCount + 2] + "_Diff"; fieldBlk_Diff.DataFormatString = "{0:#.####}"; //BoundField fieldBlk_Adjust = new BoundField(); //fieldBlk_Adjust.DataField = ReportColumnsList[i + 2 * dunsCount + 2] + "_Adjust"; gvAnalysis.Columns.Insert(gvAnalysis.Columns.Count - 6, fieldBlk_Sys); gvAnalysis.Columns.Insert(gvAnalysis.Columns.Count - 6, fieldBlk_Value); gvAnalysis.Columns.Insert(gvAnalysis.Columns.Count - 6, fieldBlk_Diff); gvAnalysis.Columns.Insert(gvAnalysis.Columns.Count - 6, fieldBlk_DiffSum); //gvAnalysis.Columns.Insert(gvAnalysis.Columns.Count - 4, fieldBlk_Adjust); } } #endregion PagedDataSource ds = new PagedDataSource(); ds.AllowPaging = true; ds.DataSource = dt.DefaultView; ds.PageSize = pagerReport.PageSize; ds.CurrentPageIndex = pagerReport.CurrentPage - 1; pagerReport.TotalRecord = dt.DefaultView.Count; BindDataControl(gvAnalysis, ds);//dt); } }