private void _doQuery()
        {
            if (this._checkRequireFields())
            {
                object[] dateSource = this._loadDataSource();

                if (dateSource == null || dateSource.Length <= 0)
                {
                    this.gridWebGrid.Visible   = false;
                    this.cmdGridExport.Visible = false;
                    this.lineChart.Visible     = false;
                    this.columnChart.Visible   = false;

                    return;
                }
                NewReportDomainObject[] dateSourceForOWC = this.ToNewReportDomainObject(dateSource);
                //数据加载到Grid
                List <string> fixedColumnList = new List <string>();
                string[]      fixedColumn     = TimingType.ParserAttributeTimingType4(this.rblTimingType.SelectedValue);
                if (fixedColumn != null)
                {
                    foreach (string row in fixedColumn)
                    {
                        fixedColumnList.Add(row);
                    }
                }

                List <string> dim2PropertyList = new List <string>();
                string        dim2Columns      = SummaryTarget.ParserAttributeSummaryTarget3(this.rblSummaryTarget.SelectedValue);
                if (dim2Columns != null)
                {
                    dim2PropertyList.Add(dim2Columns);
                }


                List <ReportGridDim3Property> dim3PropertyList = new List <ReportGridDim3Property>();


                if (this.rblYieldCatalog.SelectedValue.ToUpper() == "yieldcatalog_ppm".ToUpper())
                {
                    dim3PropertyList.Add(new ReportGridDim3Property("TotalLocation", "0", "SUM", "SUM", false));
                    dim3PropertyList.Add(new ReportGridDim3Property("NotYieldLocation", "0", "SUM", "SUM", false));
                    dim3PropertyList.Add(new ReportGridDim3Property("PPM", "0.00%", "DIV({-1},{-2})", "DIV({-1},{-2})", false));
                }
                else if (this.rblYieldCatalog.SelectedValue.ToUpper() == "yieldcatalog_allgood".ToUpper())
                {
                    dim3PropertyList.Add(new ReportGridDim3Property("Quantity", "0", "SUM", "SUM", false));
                    dim3PropertyList.Add(new ReportGridDim3Property("AllGoodQuantity", "0", "SUM", "SUM", false));
                    dim3PropertyList.Add(new ReportGridDim3Property("AllGoodYieldPercent", "0.00%", "DIV({-1},{-2})", "DIV({-1},{-2})", false));
                }
                else if (this.rblYieldCatalog.SelectedValue.ToUpper() == "yieldcatalog_notyield".ToUpper())
                {
                    if (string.Compare(this.V_SummaryTarget, SummaryTarget.Operation, true) == 0 ||
                        string.Compare(this.V_SummaryTarget, SummaryTarget.Resource, true) == 0)
                    {
                        dim3PropertyList.Add(new ReportGridDim3Property("AllTimes", "0", "SUM", "SUM", false));
                        dim3PropertyList.Add(new ReportGridDim3Property("NGTimes", "0", "SUM", "SUM", false));
                        dim3PropertyList.Add(new ReportGridDim3Property("NotYieldPercent", "0.00%", "DIV({-1},{-2})", "DIV({-1},{-2})", false));
                    }
                    else
                    {
                        dim3PropertyList.Add(new ReportGridDim3Property("InputQty", "0", "SUM", "SUM", false));
                        dim3PropertyList.Add(new ReportGridDim3Property("NGTimes", "0", "SUM", "SUM", false));
                        dim3PropertyList.Add(new ReportGridDim3Property("NotYieldPercent", "0.00%", "DIV({-1},{-2})", "DIV({-1},{-2})", false));
                    }
                }

                //visible style : pivot or chart
                if (this.rblVisibleStyle.SelectedValue.ToUpper() == VisibleStyle.Pivot.ToUpper())
                {
                    ReportGridHelperNew reportGridHelper = new ReportGridHelperNew(this.DataProvider, this.languageComponent1, this.gridWebGrid, this.DtSource);

                    reportGridHelper.DataSource                   = dateSourceForOWC;
                    reportGridHelper.Dim1PropertyList             = fixedColumnList;
                    reportGridHelper.Dim2PropertyList             = dim2PropertyList;
                    reportGridHelper.Dim3PropertyList             = dim3PropertyList;
                    reportGridHelper.HasDim3PropertyNameRowColumn = true;
                    reportGridHelper.ShowGrid();

                    this.gridWebGrid.Visible   = true;
                    this.cmdGridExport.Visible = true;
                    this.lineChart.Visible     = false;
                    this.columnChart.Visible   = false;
                }
                if (this.rblVisibleStyle.SelectedValue.ToUpper() == VisibleStyle.Chart.ToUpper())
                {
                    string[] fields       = YieldCatalog.ParserTotalFields(this.V_SummaryTarget, this.rblYieldCatalog.SelectedValue);
                    string   propertyName = this.languageComponent1.GetString(dim3PropertyList[0].Name);

                    List <string> rowPropertyList = new List <string>();
                    string[]      listRows        = TimingType.ParserAttributeTimingType4(this.rblTimingType.SelectedValue);
                    if (listRows != null)
                    {
                        foreach (string row in listRows)
                        {
                            rowPropertyList.Add(row);
                        }
                    }

                    List <string> valuePropertyList = new List <string>();
                    foreach (ReportGridDim3Property property in dim3PropertyList)
                    {
                        if (!property.Hidden)
                        {
                            valuePropertyList.Add(property.Name);
                        }
                    }
                    List <string> dataPropertyList = valuePropertyList;

                    foreach (NewReportDomainObject obj in dateSourceForOWC)
                    {
                        if (fields != null)
                        {
                            foreach (string field in fields)
                            {
                                if (field.ToUpper() == "NotYieldPercent".ToUpper())
                                {
                                    obj.TempValue = obj.NotYieldPercent.ToString();
                                }
                                else if (field.ToUpper() == "PPM".ToUpper())
                                {
                                    obj.TempValue = obj.PPM.ToString();
                                }
                                else if (field.ToUpper() == "AllGoodYieldPercent".ToUpper())
                                {
                                    obj.TempValue = obj.AllGoodYieldPercent.ToString();
                                }
                            }
                        }

                        //时段、班次、天、周、月、年
                        if (this.rblTimingType.SelectedValue == TimingType.TimePeriod.ToString())
                        {
                            obj.PeriodCode = obj.PeriodCode.ToString();
                        }

                        if (this.rblTimingType.SelectedValue == TimingType.Shift.ToString())
                        {
                            obj.PeriodCode = obj.ShiftCode.ToString();
                        }

                        if (this.rblTimingType.SelectedValue == TimingType.Day.ToString())
                        {
                            obj.PeriodCode = obj.ShiftDay.ToString();
                        }

                        if (this.rblTimingType.SelectedValue == TimingType.Week.ToString())
                        {
                            obj.PeriodCode = obj.Week.ToString();
                        }

                        if (this.rblTimingType.SelectedValue == TimingType.Month.ToString())
                        {
                            obj.PeriodCode = obj.Month.ToString();
                        }
                        //end
                    }

                    //chart display : histogram or line
                    if (this.rblChartType.SelectedValue.ToUpper() == ChartStyle.Histogram.ToUpper())
                    {
                        this.columnChart.Visible = true;
                        this.lineChart.Visible   = false;

                        columnChart.ChartGroupByString = dim2Columns;
                        //设置首页报表的大小
                        if (ViewState["Width"] != null)
                        {
                            columnChart.Width = int.Parse(ViewState["Width"].ToString());
                        }

                        if (ViewState["Height"] != null)
                        {
                            columnChart.Height = int.Parse(ViewState["Height"].ToString());
                        }
                        //end
                        this.columnChart.ChartTextFormatString = "<DATA_VALUE:#0.##%>";
                        this.columnChart.YLabelFormatString    = "<DATA_VALUE:#0.##%>";
                        this.columnChart.DataType   = true;
                        this.columnChart.DataSource = dateSourceForOWC;
                        this.columnChart.DataBind();
                    }
                    if (this.rblChartType.SelectedValue.ToUpper() == ChartStyle.Line.ToUpper())
                    {
                        this.columnChart.Visible = false;
                        this.lineChart.Visible   = true;

                        lineChart.ChartGroupByString = dim2Columns;

                        //设置首页报表的大小
                        if (ViewState["Width"] != null)
                        {
                            lineChart.Width = int.Parse(ViewState["Width"].ToString());
                        }

                        if (ViewState["Height"] != null)
                        {
                            lineChart.Height = int.Parse(ViewState["Height"].ToString());
                        }
                        //end

                        this.lineChart.ChartTextFormatString = "<DATA_VALUE:#0.##%>";
                        this.lineChart.YLabelFormatString    = "<DATA_VALUE:#0.##%>";
                        this.lineChart.DataType   = true;
                        this.lineChart.DataSource = dateSourceForOWC;
                        this.lineChart.DataBind();
                    }
                    this.gridWebGrid.Visible   = false;
                    this.cmdGridExport.Visible = false;
                    Response.Write("<script type='text/javascript'>scrollToBottom=true;</script>");
                }
            }
        }