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 == false) { // 初始化页面语言 this.InitPageLanguage(this.languageComponent1, false); ReportViewFacade rptFacade = new ReportViewFacade(this.DataProvider); object[] objsDS = rptFacade.GetAllRptViewDataSource(); this.drpDataSource.Items.Clear(); if (objsDS != null) { for (int i = 0; i < objsDS.Length; i++) { RptViewDataSource dataSource = (RptViewDataSource)objsDS[i]; this.drpDataSource.Items.Add(new ListItem(dataSource.Name, dataSource.DataSourceID.ToString())); } } } }
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 object GetEditObject() { if (_facade == null) { _facade = new ReportViewFacade(base.DataProvider); } RptViewDataSource rptviewdatasource = this._facade.CreateNewRptViewDataSource(); rptviewdatasource.Name = FormatHelper.CleanString(this.txtNameEdit.Text); rptviewdatasource.Description = FormatHelper.CleanString(this.txtDescriptEdit.Text, 100); rptviewdatasource.DataConnectID = Convert.ToDecimal(this.drpDBTypeEdit.SelectedValue);// FormatHelper.TOTimeInt(this.timeShiftEndTimeEdit.Text); rptviewdatasource.SourceType = this.drpdbtype.SelectedValue; if (this.drpdbtype.SelectedIndex == 0) { rptviewdatasource.SQL = this.txtDBDefaultNameEdit.Text; } else { rptviewdatasource.DllFileName = this.txtDBDefaultNameEdit.Text; } rptviewdatasource.MaintainUser = this.GetUserCode(); return(rptviewdatasource); }
protected void ReportViewer1_Drillthrough(object sender, Microsoft.Reporting.WebForms.DrillthroughEventArgs e) { Microsoft.Reporting.WebForms.LocalReport lr = e.Report as Microsoft.Reporting.WebForms.LocalReport; if (rptFacade == null) { rptFacade = new ReportViewFacade(this.DataProvider); } RptViewDesignMain rptDesign = rptFacade.GetRptViewDesignMainByReportName(e.ReportPath.ToUpper()); RptViewUserSubscription[] viewerInput = new RptViewUserSubscription[lr.OriginalParametersToDrillthrough.Count]; RptViewDataSource dataSource = (RptViewDataSource)rptFacade.GetRptViewDataSource(designMain.DataSourceID); for (int i = 0; i < lr.OriginalParametersToDrillthrough.Count; i++) { viewerInput[i] = new RptViewUserSubscription(); viewerInput[i].InputName = lr.OriginalParametersToDrillthrough[i].Name; if (dataSource.SourceType == DataSourceType.SQL) { viewerInput[i].InputType = ReportViewerInputType.SqlFilter; viewerInput[i].SqlFilterSequence = i + 1; } else { viewerInput[i].InputType = ReportViewerInputType.DllParameter; } viewerInput[i].InputValue = lr.OriginalParametersToDrillthrough[i].Values[0]; } DataSet dsSource = rptFacade.ExecuteDataSetFromSource(rptDesign.ReportID, viewerInput, Server.MapPath("").ToString().Substring(0, Server.MapPath("").ToString().LastIndexOf("\\"))); lr.DataSources.Clear(); lr.DataSources.Add(new Microsoft.Reporting.WebForms.ReportDataSource("MESRPT", dsSource.Tables[0])); }
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; }
private HtmlTableCell[] GenerateCell(RptViewUserSubscription userSubs, RptViewFilterUI[] filterUIList) { HtmlGenericControl title = new HtmlGenericControl(); title.InnerText = userSubs.EAttribute1; HtmlTableCell cellTitle = new HtmlTableCell(); cellTitle.NoWrap = true; cellTitle.Attributes.Add("class", "fieldNameLeft"); cellTitle.Controls.Add(title); RptViewFilterUI filterUI = null; if (filterUIList != null) { for (int i = 0; i < filterUIList.Length; i++) { if (filterUIList[i].InputType == userSubs.InputType && filterUIList[i].InputName == userSubs.InputName && filterUIList[i].SqlFilterSequence == userSubs.SqlFilterSequence) { filterUI = filterUIList[i]; break; } } } if (rptFacade == null) { rptFacade = new ReportViewFacade(this.DataProvider); } RptViewFilterUI[] objUIs = rptFacade.GetRptViewFilterUIByReportIdAndSeq(this.ReportID, userSubs.InputName, userSubs.SqlFilterSequence); bool checkExist = false; if (objUIs != null && objUIs.Length > 0) { foreach (RptViewFilterUI objUI in objUIs) { if (objUI.CheckExist == "Y") { checkExist = true; break; } } } Control controlInput = null; if (filterUI == null || filterUI.UIType == ReportFilterUIType.InputText) { TextBox txt = new TextBox(); txt.ID = "txtViewerInput_" + userSubs.InputType + "_" + userSubs.InputName + "_" + userSubs.SqlFilterSequence.ToString(); txt.Attributes.Add("IsReportViewerInput", "1"); txt.Attributes.Add("InputName", userSubs.InputName); txt.Attributes.Add("InputType", userSubs.InputType); txt.Attributes.Add("InputDesc", userSubs.EAttribute1); txt.Attributes.Add("SqlFilterSequence", userSubs.SqlFilterSequence.ToString()); txt.Text = userSubs.InputValue; //Modified 2008/11/07 if (checkExist) { txt.CssClass = "require"; } else { txt.CssClass = "textbox"; } controlInput = txt; } else if (filterUI.UIType == ReportFilterUIType.CheckBox) { CheckBox chk = new CheckBox(); chk.ID = "txtViewerInput_" + userSubs.InputType + "_" + userSubs.InputName + "_" + userSubs.SqlFilterSequence.ToString(); chk.Attributes.Add("IsReportViewerInput", "1"); chk.Attributes.Add("InputName", userSubs.InputName); chk.Attributes.Add("InputType", userSubs.InputType); chk.Attributes.Add("InputDesc", userSubs.EAttribute1); chk.Attributes.Add("SqlFilterSequence", userSubs.SqlFilterSequence.ToString()); chk.Checked = FormatHelper.StringToBoolean(userSubs.InputValue); if (checkExist) { chk.CssClass = "require"; } else { chk.CssClass = "textbox"; } controlInput = chk; } else if (filterUI.UIType == ReportFilterUIType.Date) { TextBox dateCtl = new TextBox(); //BenQGuru.eMES.Web.UserControl.eMESDate dateCtl = (BenQGuru.eMES.Web.UserControl.eMESDate)Page.LoadControl("../UserControl/DateTime/DateTime/eMESDate.ascx"); dateCtl.ID = "txtViewerInput_" + userSubs.InputType + "_" + userSubs.InputName + "_" + userSubs.SqlFilterSequence.ToString(); dateCtl.Attributes.Add("IsReportViewerInput", "1"); dateCtl.Attributes.Add("InputName", userSubs.InputName); dateCtl.Attributes.Add("InputType", userSubs.InputType); dateCtl.Attributes.Add("InputDesc", userSubs.EAttribute1); dateCtl.Attributes.Add("SqlFilterSequence", userSubs.SqlFilterSequence.ToString()); dateCtl.Text = userSubs.InputValue; if (checkExist) { dateCtl.CssClass = "require datepicker"; } else { dateCtl.CssClass = "textbox datepicker"; } controlInput = dateCtl; } else if (filterUI.UIType == ReportFilterUIType.SelectQuery) { BenQGuru.eMES.Web.SelectQuery.SelectableTextBox txt = new BenQGuru.eMES.Web.SelectQuery.SelectableTextBox(); txt.Type = filterUI.SelectQueryType; txt.ID = "txtViewerInput_" + userSubs.InputType + "_" + userSubs.InputName + "_" + userSubs.SqlFilterSequence.ToString(); txt.Attributes.Add("IsReportViewerInput", "1"); txt.Attributes.Add("InputName", userSubs.InputName); txt.Attributes.Add("InputType", userSubs.InputType); txt.Attributes.Add("InputDesc", userSubs.EAttribute1); txt.Attributes.Add("SqlFilterSequence", userSubs.SqlFilterSequence.ToString()); txt.Text = userSubs.InputValue; txt.CanKeyIn = true; if (checkExist) { txt.CssClass = "require"; } else { txt.CssClass = "textbox"; } controlInput = txt; } else if (filterUI.UIType == ReportFilterUIType.DropDownList) { DropDownList drp = new DropDownList(); drp.ID = "txtViewerInput_" + userSubs.InputType + "_" + userSubs.InputName + "_" + userSubs.SqlFilterSequence.ToString(); drp.Attributes.Add("IsReportViewerInput", "1"); drp.Attributes.Add("InputName", userSubs.InputName); drp.Attributes.Add("InputType", userSubs.InputType); drp.Attributes.Add("InputDesc", userSubs.EAttribute1); drp.Attributes.Add("SqlFilterSequence", userSubs.SqlFilterSequence.ToString()); if (checkExist) { drp.CssClass = "require"; } else { drp.CssClass = "textbox"; } if (filterUI.ListDataSourceType == "static") { string[] strTmpList = filterUI.ListStaticValue.Split(';'); for (int i = 0; i < strTmpList.Length; i++) { if (strTmpList[i] != "" && strTmpList[i].IndexOf(",") >= 0) { string[] strTmpVal = strTmpList[i].Split(','); drp.Items.Add(new ListItem(strTmpVal[0], strTmpVal[1])); } } //Add 2008/11/05 如果是必选则不需要加空格选项,否则加空格选项代表是全选 //if (rptFacade == null) { rptFacade = new ReportViewFacade(this.DataProvider); } //RptViewFilterUI[] objUIs = rptFacade.GetRptViewFilterUIByReportIdAndSeq(this.ReportID, userSubs.InputName); //if (objUIs != null && objUIs.Length > 0) //{ // foreach (RptViewFilterUI objUI in objUIs) // { // if (objUI.CheckExist == "N") // { // drp.Items.Insert(0,new ListItem("","")); // } // } //} if (!checkExist) { drp.Items.Insert(0, new ListItem("", "")); } } else { RptViewDataSource dataSource = (RptViewDataSource)rptFacade.GetRptViewDataSource(filterUI.ListDynamicDataSource); if (dataSource != null) { if (filterUI.ListDynamicTextColumn == "" && filterUI.ListDynamicValueColumn != "") { filterUI.ListDynamicTextColumn = filterUI.ListDynamicValueColumn; } if (filterUI.ListDynamicValueColumn == "" && filterUI.ListDynamicTextColumn != "") { filterUI.ListDynamicValueColumn = filterUI.ListDynamicTextColumn; } DataSet ds = rptFacade.ExecuteDataSetFromSource(dataSource, Server.MapPath("").ToString().Substring(0, Server.MapPath("").ToString().LastIndexOf("\\"))); string columnName = filterUI.ListDynamicTextColumn; string columnValue = filterUI.ListDynamicValueColumn; ds.Tables[0].DefaultView.Sort = columnName; for (int i = 0; i < ds.Tables[0].DefaultView.Count; i++) { string strOptItemText = ""; bool checkRe = false; if (ds.Tables[0].DefaultView[i][columnName] != System.DBNull.Value) { strOptItemText = ds.Tables[0].DefaultView[i][columnName].ToString(); } string strOptItemValue = ""; if (ds.Tables[0].DefaultView[i][columnValue] != System.DBNull.Value) { strOptItemValue = ds.Tables[0].DefaultView[i][columnValue].ToString(); } if (drp.Items.Count > 0) { for (int k = 0; k < drp.Items.Count; k++) { if (strOptItemValue == drp.Items[k].Value && strOptItemText == drp.Items[k].Text) { checkRe = true; break; } } } if (!checkRe) { drp.Items.Add(new ListItem(strOptItemText, strOptItemValue)); } } //Add 2008/11/05 如果是必选则不需要加空格选项,否则加空格选项代表是全选 if (!checkExist) { drp.Items.Insert(0, new ListItem("", "")); } } } if (drp.Items.FindByValue(userSubs.InputValue) != null) { drp.SelectedValue = userSubs.InputValue; } controlInput = drp; } //Add 2008/11/04 增加了复选框的查询 else if (filterUI.UIType == ReportFilterUIType.SelectComplex) { BenQGuru.eMES.Web.SelectQuery.SelectableTextBox txt = new BenQGuru.eMES.Web.SelectQuery.SelectableTextBox(); string[] strQueryType = filterUI.SelectQueryType.ToString().Split('#'); txt.Type = strQueryType[0]; HtmlTableRow row = new HtmlTableRow(); HtmlTableCell cell = new HtmlTableCell(); TextBox textBox1 = new TextBox(); TextBox textBox2 = new TextBox(); TextBox textBox3 = new TextBox(); TextBox textBox4 = new TextBox(); textBox1.ID = "txtDataSource" + userSubs.SqlFilterSequence.ToString("0000"); textBox2.ID = "txtDataType" + userSubs.SqlFilterSequence.ToString("0000"); textBox3.ID = "txtDataCode" + userSubs.SqlFilterSequence.ToString("0000"); textBox4.ID = "txtDataDesc" + userSubs.SqlFilterSequence.ToString("0000"); textBox2.Text = filterUI.ListDataSourceType; if (filterUI.ListDataSourceType.ToString().ToUpper() != "STATIC") { textBox3.Text = strQueryType[1]; textBox4.Text = strQueryType[2]; textBox1.Text = filterUI.ListDynamicDataSource.ToString(); } else { textBox1.Text = filterUI.ListStaticValue; } cell.Controls.Add(textBox1); cell.Controls.Add(textBox2); cell.Controls.Add(textBox3); cell.Controls.Add(textBox4); row.Cells.Add(cell); row.Attributes.Add("style", "display:none;"); this.tableTextBox.Rows.Add(row); txt.ID = "txtViewerInput_" + userSubs.InputType + "_" + userSubs.InputName + "_" + userSubs.SqlFilterSequence.ToString("0000"); txt.Attributes.Add("IsReportViewerInput", "1"); txt.Attributes.Add("InputName", userSubs.InputName); txt.Attributes.Add("InputType", userSubs.InputType); txt.Attributes.Add("InputDesc", userSubs.EAttribute1); txt.Attributes.Add("SqlFilterSequence", userSubs.SqlFilterSequence.ToString()); txt.Text = userSubs.InputValue; txt.CanKeyIn = true; if (checkExist) { txt.CssClass = "require"; } else { txt.CssClass = "textbox"; } controlInput = txt; } HtmlTableCell cellValue = new HtmlTableCell(); cellValue.NoWrap = true; cellValue.Attributes.Add("class", "fieldValue"); cellValue.Style.Add("padding-right", "10px"); cellValue.Controls.Add(controlInput); return(new HtmlTableCell[] { cellTitle, cellValue }); }