private void InitColumnList()
        {
            this.lstUnSelectColumn.Items.Clear();
            ReportViewFacade  rptFacade  = new ReportViewFacade(this.DataProvider);
            RptViewDataSource dataSource = (RptViewDataSource)rptFacade.GetRptViewDataSource(this.designView.DesignMain.DataSourceID);

            if (dataSource.SourceType == DataSourceType.SQL)
            {
                RptViewDataSourceColumn[] columns = rptFacade.GetRptViewDataSourceColumnByDataSourceId(Convert.ToInt32(this.designView.DesignMain.DataSourceID));
                for (int i = 0; i < columns.Length; i++)
                {
                    if (FormatHelper.StringToBoolean(columns[i].Visible) == true)
                    {
                        this.lstUnSelectColumn.Items.Add(new System.Web.UI.WebControls.ListItem(columns[i].Description, columns[i].ColumnName));
                    }
                }
                bIsSqlDataSource = true;
            }
            else if (dataSource.SourceType == DataSourceType.DLL)
            {
                RptViewDataSourceParam[] parames = rptFacade.GetRptViewDataSourceParamByDataSourceId(Convert.ToInt32(this.designView.DesignMain.DataSourceID));
                for (int i = 0; parames != null && i < parames.Length; i++)
                {
                    this.lstUnSelectColumn.Items.Add(new System.Web.UI.WebControls.ListItem(parames[i].Description, parames[i].ParameterName));
                }
            }
        }
 protected void Page_Load(object sender, System.EventArgs e)
 {
     if (!this.IsPostBack)
     {
         // 初始化页面语言
         this.InitPageLanguage(this.languageComponent1, false);
         if (_facade == null)
         {
             _facade = new ReportViewFacade(base.DataProvider);
         }
         object obj = _facade.GetRptViewDataSource(Convert.ToDecimal(this.GetRequestParam("id")));
         txtDBName.Text  = ((RptViewDataSource)obj).Name.ToString();
         txtDllName.Text = ((RptViewDataSource)obj).DllFileName.ToString();
         if (((RptViewDataSource)obj).SourceType == DataSourceType.SQL)
         {
             txtDllName.Text = ((RptViewDataSource)obj).SQL.ToString();
         }
         datasourceid.Value = this.GetRequestParam("id");
         //_facade.SetColumn(this.MapPath(""), this.txtDllName.Text, decimal.Parse(datasourceid.Value), this.GetUserCode());
     }
     if (this.gridWebGrid.Columns.FromKey("DataType") != null)
     {
         DropDownProvider dropdownProvider = this.gridWebGrid.EditorProviders.GetProviderById("dropdownProviderDataType") as DropDownProvider;
         BindDropDownDataType(dropdownProvider);
         dropdownProvider.EditorControl.DropDownContainerWidth = new Unit(150);
     }
 }
示例#3
0
        protected override object GetEditObject(GridRecord row)
        {
            if (_facade == null)
            {
                _facade = new ReportViewFacade(base.DataProvider);
            }
            object obj = _facade.GetRptViewDataSource(Convert.ToDecimal(row.Items.FindItemByKey("DataSourceID").Text));

            if (obj != null)
            {
                return(obj as RptViewDataSource);
            }

            return(null);
        }
 protected void Page_Load(object sender, System.EventArgs e)
 {
     if (!this.IsPostBack)
     {
         // 初始化页面语言
         this.InitPageLanguage(this.languageComponent1, false);
         if (_facade == null)
         {
             _facade = new ReportViewFacade(base.DataProvider);
         }
         object obj = _facade.GetRptViewDataSource(Convert.ToDecimal(this.GetRequestParam("id")));
         txtDBName.Text     = ((RptViewDataSource)obj).Name.ToString();
         txtDllName.Text    = ((RptViewDataSource)obj).DllFileName.ToString();
         datasourceid.Value = this.GetRequestParam("id");
     }
 }
        private void InitColumnList()
        {
            this.lstUnSelectColumn.Items.Clear();
            ReportViewFacade  rptFacade  = new ReportViewFacade(this.DataProvider);
            RptViewDataSource dataSource = (RptViewDataSource)rptFacade.GetRptViewDataSource(this.designView.DesignMain.DataSourceID);

            RptViewDataSourceColumn[]   columns   = rptFacade.GetRptViewDataSourceColumnByDataSourceId(Convert.ToInt32(this.designView.DesignMain.DataSourceID));
            Dictionary <string, string> columnMap = new Dictionary <string, string>();

            for (int i = 0; i < columns.Length; i++)
            {
                columnMap.Add(columns[i].ColumnName, columns[i].Description);
            }
            for (int i = 0; i < this.designView.GridColumns.Length; i++)
            {
                this.lstUnSelectColumn.Items.Add(new ListItem(columnMap[this.designView.GridColumns[i].ColumnName], this.designView.GridColumns[i].ColumnName));
            }
            if (dataSource.SourceType == DataSourceType.SQL)
            {
                bIsSqlDataSource = true;
            }
        }
        protected override void UpdateReportDesignView()
        {
            ReportViewFacade  rptFacade  = new ReportViewFacade(this.DataProvider);
            RptViewDataSource dataSource = (RptViewDataSource)rptFacade.GetRptViewDataSource(this.designView.DesignMain.DataSourceID);

            if (dataSource.SourceType == DataSourceType.SQL)
            {
                bIsSqlDataSource = true;
            }
            ArrayList listFilterUI = new ArrayList();
            Dictionary <string, string> filterUIList = new Dictionary <string, string>();
            string strFilterUI = this.hidInputUIType.Value;

            string[] strFilterUIList = strFilterUI.Split('|');
            for (int i = 0; i < strFilterUIList.Length; i++)
            {
                if (strFilterUIList[i] != "")
                {
                    string[] strTmpList = strFilterUIList[i].Split('@');
                    if (filterUIList.ContainsKey(strTmpList[0]) == false)
                    {
                        filterUIList.Add(strTmpList[0], strTmpList[1]);
                    }
                }
            }

            RptViewGridFilter[] filters = new RptViewGridFilter[this.gridWebGrid.Rows.Count];
            for (int i = 0; i < this.gridWebGrid.Rows.Count; i++)
            {
                RptViewGridFilter filter = new RptViewGridFilter();
                filter.FilterSequence = i + 1;
                filter.DataSourceID   = this.designView.DesignMain.DataSourceID;
                string strName = "";
                if (bIsSqlDataSource == true)
                {
                    filter.ColumnName      = this.gridWebGrid.Rows[i].Items.FindItemByKey("ColumnName").Value.ToString();
                    filter.FilterOperation = this.gridWebGrid.Rows[i].Items.FindItemByKey("FilterType").Value.ToString();
                    strName = filter.ColumnName;
                }
                else
                {
                    filter.ParameterName = this.gridWebGrid.Rows[i].Items.FindItemByKey("ColumnName").Value.ToString();
                    strName = filter.ParameterName;
                }
                filter.Description = this.gridWebGrid.Rows[i].Items.FindItemByKey("DisplayDesc").Value.ToString();
                filters[i]         = filter;

                if (filterUIList.ContainsKey(strName) == true)
                {
                    RptViewFilterUI filterUI = new RptViewFilterUI();
                    filterUI.Sequence = listFilterUI.Count + 1;
                    if (bIsSqlDataSource == true)
                    {
                        filterUI.InputType = ReportViewerInputType.SqlFilter;
                    }
                    else
                    {
                        filterUI.InputType = ReportViewerInputType.DllParameter;
                    }
                    filterUI.InputName         = strName;
                    filterUI.SqlFilterSequence = filter.FilterSequence;
                    string[] strUIValList = filterUIList[strName].Split(';');
                    filterUI.UIType = strUIValList[0];
                    if (filterUI.UIType == ReportFilterUIType.SelectQuery)
                    {
                        filterUI.SelectQueryType = strUIValList[1];
                    }
                    else if (filterUI.UIType == ReportFilterUIType.DropDownList)
                    {
                        filterUI.ListDataSourceType = strUIValList[1];
                        if (filterUI.ListDataSourceType == "static")
                        {
                            string strStaticVal = "";
                            for (int n = 2; n < strUIValList.Length; n++)
                            {
                                if (strUIValList[n] != "" && strUIValList[n].IndexOf(",") >= 0)
                                {
                                    strStaticVal += strUIValList[n] + ";";
                                }
                            }
                            filterUI.ListStaticValue = strStaticVal;
                        }
                        else
                        {
                            filterUI.ListDynamicDataSource  = decimal.Parse(strUIValList[2]);
                            filterUI.ListDynamicTextColumn  = strUIValList[3];
                            filterUI.ListDynamicValueColumn = strUIValList[4];
                        }
                    }
                    listFilterUI.Add(filterUI);
                }
            }
            this.designView.GridFilters = filters;

            for (int i = 0; this.designView.FiltersUI != null && i < this.designView.FiltersUI.Length; i++)
            {
                if (this.designView.FiltersUI[i].InputType == ReportViewerInputType.FileParameter)
                {
                    listFilterUI.Add(this.designView.FiltersUI[i]);
                }
            }
            RptViewFilterUI[] targetFilterUI = new RptViewFilterUI[listFilterUI.Count];
            listFilterUI.CopyTo(targetFilterUI);
            this.designView.FiltersUI = targetFilterUI;
        }