|
本文主谈如何让GridView控件自己也支持导出Excel和Word,这样做的目的就是方便我们的打印功能使实现了 。 首先增加了两个属性,用于指示是否支持Excel导出和Word导出
<PRE class=csharp name="code">//增加了一个设置是否显示“导出Word”按钮的属性 /**//// <summary> /// 排序提示信息 /// </summary> [ Description("显示导出到Word"), Category("扩展"), DefaultValue(true) ] public virtual bool ShowExportWord { get { object obj2 = this.ViewState["ShowExportWord"]; if (obj2 != null) { return (bool)obj2; } return true; } set { bool aShowExportWord = this.ShowExportWord; if (value != aShowExportWord) { this.ViewState["ShowExportWord"] = value; if (base.Initialized) { base.RequiresDataBinding = true; } } } } //增加了一个设置是否显示“导出Excel”按钮的属性 [ Description("显示导出到Excel"), Category("扩展"), DefaultValue(true) ] public virtual bool ShowExportExcel { get { object obj2 = this.ViewState["ShowExportExcel"]; if (obj2 != null) { return (bool)obj2; } return true; } set { bool aShowExportExcel = this.ShowExportExcel; if (value != aShowExportExcel) { this.ViewState["ShowExportExcel"] = value; if (base.Initialized) { base.RequiresDataBinding = true; } } } }</PRE> 声明两个LinkButton控件btnExportWord,btnExport,分别用于点击导出Excel和点击导出word,并在控件的OnInit事件中初始化两个控件 LinkButton btnExportWord; LinkButton btnExport; protected override void OnInit(EventArgs e) { this.EnableViewState = true; btnExport = new LinkButton(); btnExport.CommandName = "ExportToExcel"; btnExport.EnableViewState = true; btnExport.Text = "导出Excel"; btnExportWord = new LinkButton(); btnExportWord.CommandName = "ExportToWord"; btnExportWord.EnableViewState = true; btnExportWord.Text = "导出Word"; base.OnInit(e); 将两个LinkButton添加到GridView子控件中。 protected override int CreateChildControls(System.Collections.IEnumerable dataSource, bool dataBinding) { int res = base.CreateChildControls(dataSource, dataBinding); try { GridViewRow row = new GridViewRow(0, 0, DataControlRowType.Pager, DataControlRowState.Normal); TableCell cell2 = new TableCell(); cell2.HorizontalAlign = HorizontalAlign.Right; cell2.Wrap = false; if (this.ShowExportExcel == true) { l1 = new Literal(); l1.Text = " ["; cell2.Controls.Add(l1); cell2.Controls.Add(btnExport); l1 = new Literal(); l1.Text = "] "; cell2.Controls.Add(l1); } if (this.ShowExportWord == true) { l1 = new Literal(); l1.Text = " ["; cell2.Controls.Add(l1); cell2.Controls.Add(btnExportWord); l1 = new Literal(); l1.Text = "] "; cell2.Controls.Add(l1); } r.Cells.Add(cell2); this.Controls[0].Controls.AddAt(0, row); } catch { } } return res; }
共2页: 上一页 1 [2] 下一页
|