|
我的需求是这样的。点击页面一个导出按钮,弹出window窗体,里面有多个选择框。如图(1),然后选择要导出的列 回传给主页面我用的方法是这样的:
protected void btn_Export_Click(object sender, EventArgs e)
{
string str = "";
str = GetCols();
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference(str));
}
这样我的主窗体就会有一个close事件。
protected void win_Export_Close(object sender, WindowCloseEventArgs e)
{
string param = e.CloseArgument;
OSYTax osyTax=new OSYTax();
DataTable dt= osyTax.GetExport(GetParam());
if (param != null && param.Length > 0 && param != "undefined")
{
string[] Params = param.Split(new string[] { "{##}" }, StringSplitOptions.RemoveEmptyEntries);
string[] ParamColsValue = Params[0].Split(',');//字段
string[] ParamColsText = Params[1].Split(',');//字段名
DataTable dtNew= dt.DefaultView.ToTable(false, ParamColsValue);
for (int i = 0; i < ParamColsText.Length; i++)
{
dtNew.Columns[i].ColumnName = ParamColsText[i];
}
//ExportExcel.ExportToExcel(dtNew, this.Response, this.Server, "纳税管理");
NPOIExport.ExportByWeb(dtNew, "NPOI导出", "纳税管理");
}
}
我用的导出excel方法是将datatable字节输出.
HttpContext curContext = HttpContext.Current;
// 设置编码和附件格式
curContext.Response.ContentType = "application/vnd.ms-excel";
curContext.Response.ContentEncoding = Encoding.UTF8;
curContext.Response.Charset = "";
curContext.Response.AppendHeader("Content-Disposition",
"attachment;filename=" + HttpUtility.UrlEncode(strFileName, Encoding.UTF8));
curContext.Response.BinaryWrite(Export(dtSource, strHeaderText).GetBuffer());
curContext.Response.End();
但是就是没反应 程序也没报错。网上看是说AJAX问题。我猜FineUI的AJAX问题。请高手解决
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|