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)); } } }
private void InitData() { string strDataSourceId = this.GetRequestParam("datasourceid"); string strGroupColumn = this.GetRequestParam("groupcolumn"); string strColumnList = this.Request.QueryString["columnlist"]; if (strDataSourceId == "" || strGroupColumn == "" || strColumnList == "") { throw new Exception("$Error_RequestUrlParameter_Lost"); } ReportViewFacade rptFacade = new ReportViewFacade(this.DataProvider); RptViewDataSourceColumn[] columns = rptFacade.GetRptViewDataSourceColumnByDataSourceId(int.Parse(strDataSourceId)); Dictionary <string, string> columnMap = new Dictionary <string, string>(); for (int i = 0; i < columns.Length; i++) { columnMap.Add(columns[i].ColumnName, columns[i].Description); } string strExistSet = this.Request.QueryString["existsetting"]; Dictionary <string, string> existSetting = new Dictionary <string, string>(); string[] strSelectColumns = strExistSet.Split(';'); for (int i = 0; i < strSelectColumns.Length; i++) { if (strSelectColumns[i].Trim() != "") { string[] tmpArr = strSelectColumns[i].Trim().Split(','); existSetting.Add(tmpArr[0], tmpArr[1]); } } string[] columnList = strColumnList.Split(','); for (int i = 0; i < columnList.Length; i++) { if (columnList[i] != "" && columnList[i] != strGroupColumn) { string strTotalType = ReportTotalType.Empty; if (existSetting.ContainsKey(columnList[i]) == true) { strTotalType = existSetting[columnList[i]]; } DataRow row = DtSource.NewRow(); if (this.DtSource.Columns.Contains("GUID")) { row["GUID"] = Guid.NewGuid().ToString(); } row["Sequence"] = this.DtSource.Rows.Count + 1; row["ColumnName"] = columnList[i]; row["ColumnDesc"] = columnMap[columnList[i]]; row["TotalType"] = strTotalType; this.DtSource.Rows.Add(row); } } this.gridWebGrid.DataSource = DtSource; this.gridWebGrid.DataBind(); this.txtGroupColumnName.Text = columnMap[strGroupColumn]; }
protected void Page_Load(object sender, System.EventArgs e) { // 初始化页面语言 this.InitPageLanguage(this.languageComponent1, false); this.imgSelect.Attributes.Add("onclick", "MoveUserGroup('" + this.lstUnSelectedColumn.ClientID + "','" + this.lstSelectedColumn.ClientID + "')"); this.imgUnSelect.Attributes.Add("onclick", "MoveUserGroup('" + this.lstSelectedColumn.ClientID + "','" + this.lstUnSelectedColumn.ClientID + "')"); if (this.IsPostBack == false) { ReportViewFacade rptFacade = new ReportViewFacade(this.DataProvider); RptViewDataSourceColumn[] columns = rptFacade.GetRptViewDataSourceColumnByDataSourceId(Convert.ToInt32(this.designView.DesignMain.DataSourceID)); for (int i = 0; columns != null && i < columns.Length; i++) { if (FormatHelper.StringToBoolean(columns[i].Visible) == true) { this.lstUnSelectedColumn.Items.Add(new ListItem(columns[i].Description, columns[i].ColumnName)); } } this.lblDesignStep2Title.Text = this.languageComponent1.GetString("$PageControl_DesignStep2Title"); } }
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; } }
void drpDDLDynamicDataSource_SelectedIndexChanged(object sender, EventArgs e) { this.txtHideDDLDynamicSourceText.Value = ""; this.hidHideDDLDynamicSourceText.Value = ""; this.txtHideDDLDynamicSourceValue.Value = ""; this.hidHideDDLDynamicSourceValue.Value = ""; this.listHideDDLDynamicSourceColumnList.Items.Clear(); if (this.drpDDLDynamicDataSource.SelectedValue == "") { return; } ReportViewFacade facade = new ReportViewFacade(this.DataProvider); object[] objs = facade.GetRptViewDataSourceColumnByDataSourceId(int.Parse(this.drpDDLDynamicDataSource.SelectedValue)); if (objs != null) { for (int i = 0; i < objs.Length; i++) { this.listHideDDLDynamicSourceColumnList.Items.Add(new ListItem(((RptViewDataSourceColumn)objs[i]).Description, ((RptViewDataSourceColumn)objs[i]).ColumnName)); } } }
/// <summary> /// 构建DataSet /// </summary> private string BuildDataSet(ReportDesignView designView, XmlDocument formatXml) { ReportViewFacade rptFacade = new ReportViewFacade(this.DataProvider); RptViewDataSourceColumn[] columnObjs = rptFacade.GetRptViewDataSourceColumnByDataSourceId(Convert.ToInt32(designView.DesignMain.DataSourceID)); Dictionary <string, RptViewDataSourceColumn> columns = new Dictionary <string, RptViewDataSourceColumn>(); for (int i = 0; i < columnObjs.Length; i++) { columns.Add(columnObjs[i].ColumnName, columnObjs[i]); } string strDataSet = formatXml.SelectSingleNode("//DataSet").FirstChild.Value; string strFields = ""; string strField = formatXml.SelectSingleNode("//DataSetField").FirstChild.Value; for (int i = 0; designView.GridColumns != null && i < designView.GridColumns.Length; i++) { string strTmp = strField.Replace("<%Name%>", designView.GridColumns[i].ColumnName); strTmp = strTmp.Replace("<%Type%>", columns[designView.GridColumns[i].ColumnName].DataType); strFields = strFields + strTmp; } if (designView.GridColumns == null || designView.GridColumns.Length == 0) { for (int i = 0; i < columnObjs.Length; i++) { string strTmp = strField.Replace("<%Name%>", columnObjs[i].ColumnName); strTmp = strTmp.Replace("<%Type%>", columnObjs[i].DataType); strFields = strFields + strTmp; } } strDataSet = strDataSet.Replace("<%FieldList%>", strFields); strDataSet = strDataSet.Replace("<%SQLQuery%>", ""); return(strDataSet); }
protected void Page_Load(object sender, System.EventArgs e) { needVScroll = true; this.gridHelper = new GridHelperNew(this.gridWebGrid, DtSource); ReportViewFacade rptFacade = new ReportViewFacade(this.DataProvider); RptViewDataSourceColumn[] columns = rptFacade.GetRptViewDataSourceColumnByDataSourceId(Convert.ToInt32(this.designView.DesignMain.DataSourceID)); if (!IsPostBack) { // 初始化页面语言 this.InitPageLanguage(this.languageComponent1, false); InitButtonVisible(); this.txtReportName.Text = this.designView.DesignMain.ReportName; //InitGridData(); this.InitChartDescLanguage(); this.lstUnSelectColumn.Items.Clear(); for (int i = 0; columns != null && i < columns.Length; i++) { this.lstUnSelectColumn.Items.Add(new System.Web.UI.WebControls.ListItem(columns[i].Description, columns[i].ColumnName)); } } this.lstUnSelectedSeries.Items.Clear(); this.lstUnSelectedCategory.Items.Clear(); for (int i = 0; columns != null && i < columns.Length; i++) { this.lstUnSelectedSeries.Items.Add(new System.Web.UI.WebControls.ListItem(columns[i].Description, columns[i].ColumnName)); this.lstUnSelectedCategory.Items.Add(new System.Web.UI.WebControls.ListItem(columns[i].Description, columns[i].ColumnName)); } this.lstSelectedSeries.Items.Clear(); this.lstSelectedCategory.Items.Clear(); if (this.hidSelectedSeriesValue.Value != "") { string[] strArrTmp = this.hidSelectedSeriesValue.Value.Split(';'); for (int i = 0; i < strArrTmp.Length; i++) { if (strArrTmp[i] != "") { System.Web.UI.WebControls.ListItem item = this.lstUnSelectedSeries.Items.FindByValue(strArrTmp[i]); if (item != null) { this.lstSelectedSeries.Items.Add(new System.Web.UI.WebControls.ListItem(item.Text, item.Value)); this.lstUnSelectedSeries.Items.Remove(item); } } } } if (this.hidSelectedCategoryValue.Value != "") { string[] strArrTmp = this.hidSelectedCategoryValue.Value.Split(';'); for (int i = 0; i < strArrTmp.Length; i++) { if (strArrTmp[i] != "") { System.Web.UI.WebControls.ListItem item = this.lstUnSelectedCategory.Items.FindByValue(strArrTmp[i]); if (item != null) { this.lstSelectedCategory.Items.Add(new System.Web.UI.WebControls.ListItem(item.Text, item.Value)); this.lstUnSelectedCategory.Items.Remove(item); } } } } if (this.hidSelectedDataValue.Value != "") { string[] strArrTmp = this.hidSelectedDataValue.Value.Split(';'); for (int i = 0; i < strArrTmp.Length; i++) { if (strArrTmp[i] != "") { System.Web.UI.WebControls.ListItem item = this.lstUnSelectColumn.Items.FindByValue(strArrTmp[i]); if (item != null) { this.lstUnSelectColumn.Items.Remove(item); } } } } if (this.gridWebGrid.Columns.FromKey("TotalType") != null) { DropDownProvider dropdownProvider = this.gridWebGrid.EditorProviders.GetProviderById("dropdownProviderTotalType") as DropDownProvider; BindDropDownTotalType(dropdownProvider); dropdownProvider.EditorControl.DropDownContainerWidth = new Unit(150); } this.gridWebGrid.Behaviors.CreateBehavior <Activation>().Enabled = true; }
private void InitGridData() { ReportViewFacade rptFacade = new ReportViewFacade(this.DataProvider); RptViewDataSourceColumn[] sourceColumns = rptFacade.GetRptViewDataSourceColumnByDataSourceId(Convert.ToInt32(this.designView.DesignMain.DataSourceID)); Dictionary <string, RptViewDataSourceColumn> columnMap = new Dictionary <string, RptViewDataSourceColumn>(); for (int i = 0; i < sourceColumns.Length; i++) { columnMap.Add(sourceColumns[i].ColumnName, sourceColumns[i]); } this.tbFormat.Rows.Clear(); // 列格式 HtmlTableRow rowColumn = new HtmlTableRow(); rowColumn.Cells.Add(new HtmlTableCell()); for (int i = 0; i < this.designView.GridColumns.Length; i++) { HtmlTableCell cellHeader = new HtmlTableCell(); cellHeader.Style.Add("border", "solid 1px #000000"); cellHeader.Style.Add("width", "2.5cm"); HtmlInputHidden hidHeader = new HtmlInputHidden(); hidHeader.ID = "hidColumn_" + this.designView.GridColumns[i].ColumnName; hidHeader.Attributes.Add("FormatType", "column"); hidHeader.Attributes.Add("ColumnName", this.designView.GridColumns[i].ColumnName); hidHeader.Value = Request[hidHeader.ID]; cellHeader.Controls.Add(hidHeader); HyperLink linkHeader = new HyperLink(); linkHeader.NavigateUrl = "#"; linkHeader.Text = this.languageComponent1.GetString("$PageControl_ColumnFormat"); linkHeader.ID = "linkColumn_" + this.designView.GridColumns[i].ColumnName; linkHeader.Attributes.Add("onclick", "OpenFormatWin('" + "FRptTextFormatMP.aspx?type=column&column=" + this.designView.GridColumns[i].ColumnName + "','" + hidHeader.ClientID + "','" + linkHeader.ClientID + "');return false;"); cellHeader.Controls.Add(linkHeader); rowColumn.Cells.Add(cellHeader); } this.tbFormat.Rows.Add(rowColumn); // Header HtmlTableRow rowHeader = new HtmlTableRow(); HtmlTableCell cellHeaderRow = new HtmlTableCell(); cellHeaderRow.Style.Add("border", "solid 1px #000000"); cellHeaderRow.Style.Add("width", "2.5cm"); HtmlInputHidden hidHeaderRow = new HtmlInputHidden(); hidHeaderRow.ID = "hidHeaderRow"; hidHeaderRow.Attributes.Add("FormatType", "headerrow"); hidHeaderRow.Value = this.Request[hidHeaderRow.ID]; cellHeaderRow.Controls.Add(hidHeaderRow); HyperLink linkHeaderRow = new HyperLink(); linkHeaderRow.NavigateUrl = "#"; linkHeaderRow.Text = this.languageComponent1.GetString("$PageControl_TableHeadFormat"); linkHeaderRow.ID = "linkHeaderRow"; linkHeaderRow.Attributes.Add("onclick", "OpenFormatWin('" + "FRptTextFormatMP.aspx?type=headerrow','" + hidHeaderRow.ClientID + "','" + linkHeaderRow.ClientID + "');return false;"); cellHeaderRow.Controls.Add(linkHeaderRow); rowHeader.Cells.Add(cellHeaderRow); for (int i = 0; i < this.designView.GridColumns.Length; i++) { HtmlTableCell cellHeader = new HtmlTableCell(); cellHeader.Style.Add("border", "solid 1px #000000"); cellHeader.Style.Add("width", "2.5cm"); HtmlInputHidden hidHeader = new HtmlInputHidden(); hidHeader.ID = "hidHeader_" + this.designView.GridColumns[i].ColumnName; hidHeader.Attributes.Add("FormatType", "header"); hidHeader.Attributes.Add("ColumnName", this.designView.GridColumns[i].ColumnName); hidHeader.Value = this.Request[hidHeader.ID]; cellHeader.Controls.Add(hidHeader); HyperLink linkHeader = new HyperLink(); linkHeader.NavigateUrl = "#"; linkHeader.Text = columnMap[this.designView.GridColumns[i].ColumnName].Description; linkHeader.ID = "linkHeader_" + this.designView.GridColumns[i].ColumnName; linkHeader.Attributes.Add("onclick", "OpenFormatWin('" + "FRptTextFormatMP.aspx?type=header&column=" + this.designView.GridColumns[i].ColumnName + "','" + hidHeader.ClientID + "','" + linkHeader.ClientID + "');return false;"); cellHeader.Controls.Add(linkHeader); rowHeader.Cells.Add(cellHeader); } this.tbFormat.Rows.Add(rowHeader); // 分组 for (int i = 0; this.designView.GridGroups != null && i < this.designView.GridGroups.Length; i++) { HtmlTableRow rowGroup = new HtmlTableRow(); HtmlTableCell cellGroupHeader = new HtmlTableCell(); cellGroupHeader.Style.Add("border", "solid 1px #000000"); cellGroupHeader.Style.Add("width", "2.5cm"); HtmlInputHidden hidGroupHeader = new HtmlInputHidden(); hidGroupHeader.ID = "hidGroup_" + this.designView.GridGroups[i].GroupSequence; hidGroupHeader.Attributes.Add("FormatType", "group"); hidGroupHeader.Attributes.Add("GroupSeq", this.designView.GridGroups[i].GroupSequence.ToString()); hidGroupHeader.Value = this.Request[hidGroupHeader.ID]; cellGroupHeader.Controls.Add(hidGroupHeader); HyperLink linkGroupHeader = new HyperLink(); linkGroupHeader.NavigateUrl = "#"; linkGroupHeader.Text = this.languageComponent1.GetString("$PageControl_RowFormat"); linkGroupHeader.ID = "linkGroup_" + this.designView.GridGroups[i].GroupSequence; linkGroupHeader.Attributes.Add("onclick", "OpenFormatWin('" + "FRptTextFormatMP.aspx?type=group&group=" + this.designView.GridGroups[i].GroupSequence + "','" + hidGroupHeader.ClientID + "','" + linkGroupHeader.ClientID + "');return false;"); cellGroupHeader.Controls.Add(linkGroupHeader); rowGroup.Cells.Add(cellGroupHeader); for (int n = 0; n < this.designView.GridColumns.Length; n++) { HtmlTableCell cellGrupData = new HtmlTableCell(); cellGrupData.Style.Add("border", "solid 1px #000000"); cellGrupData.Style.Add("width", "2.5cm"); bool bIsEmpty = false; if (this.designView.GridColumns[n].ColumnName != this.designView.GridGroups[i].ColumnName) { bIsEmpty = true; } for (int x = 0; x < this.designView.GridGroupTotals.Length; x++) { if (this.designView.GridGroupTotals[x].GroupSequence == this.designView.GridGroups[i].GroupSequence && this.designView.GridGroupTotals[x].ColumnName == this.designView.GridColumns[n].ColumnName) { if (this.designView.GridGroupTotals[x].TotalType != ReportTotalType.Empty) { bIsEmpty = false; } break; } } for (int x = 0; x < this.designView.GridGroups.Length; x++) { if (this.designView.GridColumns[n].ColumnName == this.designView.GridGroups[x].ColumnName) { if (x < i) { bIsEmpty = true; } } } if (bIsEmpty == false) { HtmlInputHidden hidGrupData = new HtmlInputHidden(); hidGrupData.ID = "hidGroupData_" + this.designView.GridGroups[i].GroupSequence + "_" + this.designView.GridColumns[n].ColumnName; hidGrupData.Attributes.Add("FormatType", "groupdata"); hidGrupData.Attributes.Add("GroupSeq", this.designView.GridGroups[i].GroupSequence.ToString()); hidGrupData.Attributes.Add("ColumnName", this.designView.GridColumns[n].ColumnName); hidGrupData.Value = this.Request[hidGrupData.ID]; cellGrupData.Controls.Add(hidGrupData); HyperLink linkGroupData = new HyperLink(); linkGroupData.NavigateUrl = "#"; linkGroupData.Text = columnMap[this.designView.GridColumns[n].ColumnName].Description; linkGroupData.ID = "linkGroupData_" + this.designView.GridGroups[i].GroupSequence + "_" + this.designView.GridColumns[n].ColumnName; linkGroupData.Attributes.Add("onclick", "OpenFormatWin('" + "FRptTextFormatMP.aspx?type=groupdata&group=" + this.designView.GridGroups[i].GroupSequence + "&column=" + this.designView.GridColumns[n].ColumnName + "','" + hidGrupData.ClientID + "','" + linkGroupData.ClientID + "');return false;"); cellGrupData.Controls.Add(linkGroupData); } rowGroup.Cells.Add(cellGrupData); } this.tbFormat.Rows.Add(rowGroup); } // 详细数据 HtmlTableRow rowItemData = new HtmlTableRow(); HtmlTableCell cellItemHeader = new HtmlTableCell(); cellItemHeader.Style.Add("border", "solid 1px #000000"); cellItemHeader.Style.Add("width", "2.5cm"); HtmlInputHidden hidItemHeader = new HtmlInputHidden(); hidItemHeader.ID = "hidItemHeader"; hidItemHeader.Attributes.Add("FormatType", "item"); hidItemHeader.Value = this.Request[hidItemHeader.ID]; cellItemHeader.Controls.Add(hidItemHeader); HyperLink linkItemHeader = new HyperLink(); linkItemHeader.NavigateUrl = "#"; linkItemHeader.Text = this.languageComponent1.GetString("$PageControl_RowFormat"); linkItemHeader.ID = "linkItemHeader"; linkItemHeader.Attributes.Add("onclick", "OpenFormatWin('" + "FRptTextFormatMP.aspx?type=item" + "','" + hidItemHeader.ClientID + "','" + linkItemHeader.ClientID + "');return false;"); cellItemHeader.Controls.Add(linkItemHeader); rowItemData.Cells.Add(cellItemHeader); for (int n = 0; n < this.designView.GridColumns.Length; n++) { HtmlTableCell cellItemData = new HtmlTableCell(); cellItemData.Style.Add("border", "solid 1px #000000"); cellItemData.Style.Add("width", "2.5cm"); bool bIsEmpty = false; for (int x = 0; this.designView.GridGroups != null && x < this.designView.GridGroups.Length; x++) { if (this.designView.GridGroups[x].ColumnName == this.designView.GridColumns[n].ColumnName) { bIsEmpty = true; break; } } if (bIsEmpty == false) { HtmlInputHidden hidItemData = new HtmlInputHidden(); hidItemData.ID = "hidItemData_" + this.designView.GridColumns[n].ColumnName; hidItemData.Attributes.Add("FormatType", "itemdata"); hidItemData.Attributes.Add("ColumnName", this.designView.GridColumns[n].ColumnName); hidItemData.Value = this.Request[hidItemData.ID]; cellItemData.Controls.Add(hidItemData); HyperLink linkItemData = new HyperLink(); linkItemData.NavigateUrl = "#"; linkItemData.Text = columnMap[this.designView.GridColumns[n].ColumnName].Description; linkItemData.ID = "linkItemData_" + this.designView.GridColumns[n].ColumnName; linkItemData.Attributes.Add("onclick", "OpenFormatWin('" + "FRptTextFormatMP.aspx?type=itemdata&column=" + this.designView.GridColumns[n].ColumnName + "','" + hidItemData.ClientID + "','" + linkItemData.ClientID + "');return false;"); cellItemData.Controls.Add(linkItemData); } rowItemData.Cells.Add(cellItemData); } this.tbFormat.Rows.Add(rowItemData); }
/// <summary> /// 生成报表文件 /// </summary> /// <param name="designView">报表设计数据</param> /// <param name="formatFile">报表格式模板</param> /// <returns>报表文件路径</returns> public string Generate(ReportDesignView designView, string formatFile, string reportFile) { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(formatFile); StringBuilder sbRpt = new StringBuilder(); sbRpt.Append(xmlDoc.SelectSingleNode("//MainBody").FirstChild.Value); designView.DataSourceColumns.Clear(); ReportViewFacade rptFacade = new ReportViewFacade(this.DataProvider); RptViewDataSourceColumn[] objColumns = rptFacade.GetRptViewDataSourceColumnByDataSourceId(Convert.ToInt32(designView.DesignMain.DataSourceID)); for (int i = 0; objColumns != null && i < objColumns.Length; i++) { designView.DataSourceColumns.Add(objColumns[i].ColumnName, objColumns[i]); } sbRpt.Replace("<%ReportID%>", System.Guid.NewGuid().ToString().ToLower()); string strTable = ""; string strChart = ""; decimal iRptHeight = 0; decimal iRptWidth = 0; decimal iTableHeight = 0; if (designView.DesignMain.DisplayType == ReportDisplayType.Grid || designView.DesignMain.DisplayType == ReportDisplayType.GridChart) { strTable = this.BuildTable(designView, xmlDoc); iRptHeight = ((designView.GridGroups == null ? 0 : designView.GridGroups.Length) + 2) * 0.5M; foreach (decimal dWidth in dicColumnWidth.Values) { iRptWidth += dWidth; } iTableHeight = iRptHeight; } if (designView.DesignMain.DisplayType == ReportDisplayType.Chart || designView.DesignMain.DisplayType == ReportDisplayType.GridChart) { strChart = this.BuildChart(designView, xmlDoc); iRptHeight = iRptHeight + 9; if (iRptWidth == 0) { iRptWidth = 22; } } string strExtendText = BuildExtendText(designView, xmlDoc); strTable = strTable.Replace("<%Top%>", dRptExtendTextHeight.ToString()); strChart = strChart.Replace("<%Top%>", (iTableHeight + dRptExtendTextHeight).ToString()); iRptHeight = iRptHeight + dRptExtendTextHeight; sbRpt.Replace("<%ExtendText%>", strExtendText); sbRpt.Replace("<%Table%>", strTable); sbRpt.Replace("<%Chart%>", strChart); sbRpt.Replace("<%ReportHeight%>", iRptHeight.ToString() + "cm"); sbRpt.Replace("<%ReportWidth%>", iRptWidth.ToString() + "cm"); sbRpt.Replace("<%DataSet%>", this.BuildDataSet(designView, xmlDoc)); string strFileName = reportFile; System.IO.StreamWriter writer = new System.IO.StreamWriter(strFileName, false, Encoding.UTF8); writer.Write(sbRpt.ToString()); writer.Close(); return(strFileName); }