私のウェブサイトから、メソッドを呼び出してレポートを生成するボタンがあります。コードは機能します。問題は、コードがすべてのグリッドビュー (3 つある) を同じタブに表示することです。ボタンをクリックするとドキュメントがダウンロードされますが、各グリッドビューが個別のタブに表示されるように、これにどのコードを追加できますか。タブ名は、トップ 1、トップ 2、およびトップ 3 になります。明確にするために、現在、すべてのグリッドビューがトップ 1 タブに表示されているため、さらに 2 つのタブ (トップ 2 およびトップ 3) を作成し、gridview2 を配置する必要があります。上部 2 タブに、上部 3 タブに gridview3 があります。
using System;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data;
using System.Data.SqlClient;
using System.Collections;
using System.Text;
using System.IO;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
DataSet dataSet = new DataSet();
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ISALog1ConnectionString"].ToString());
SqlCommand cmd = new SqlCommand("exec ProxyReport", conn);
cmd.CommandTimeout = 200;
SqlDataAdapter ad = new SqlDataAdapter(cmd);
ad.Fill(dataSet);
GridView1.DataSource = dataSet.Tables[0];
GridView1.DataBind();
GridView2.DataSource = dataSet.Tables[1];
GridView2.DataBind();
GridView3.DataSource = dataSet.Tables[2];
GridView3.DataBind();
}
protected void Button1_Click(object sender, EventArgs e)
{
string attachment = "attachment; filename=Top 1.xls";
Response.ClearContent();
Response.AddHeader("content-disposition", attachment);
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.ContentType = "application/ms-excel";
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
GridView1.RenderControl(htw);
GridView2.RenderControl(htw);
GridView3.RenderControl(htw);
Response.Write(sw.ToString());
Response.End();
}
public override void VerifyRenderingInServerForm(Control control)
{
}
}