0

我在 webform1.aspx 上有一个网格视图 (gridView1),带有一个可以触发弹出窗口的按钮。弹出窗口链接到 webform2.aspx,允许用户导入 excel 文件以获取数据。预计数据将显示在 webform1.aspx 的网格视图中。但是,一旦加载了 excel 文件,如何对 gridView1 进行数据绑定?

我有一些想法,不知道逻辑是否正确。

webform1.aspx.cs

//tempDT is a DataTable type to store the data of the grid    
Session["data"] = tempDT;
/*Open a popup with webform2.aspx*/

webform2.aspx.cs

//Get data from original data table and add new data get from excel
DataTable tempDT = (DataTable)Session["data"];
/* Add new data from excel to tempDT here */
Session["data"] = tempDT;

但是在那之后我对 Databind 网格视图没有任何想法,因为我无法在 webform2.aspx 中调用网格视图

4

3 回答 3

2

我不确定这对你有帮助吗

   GridView grv = ((GridView)this.Page.PreviousPage.FindControl("gridview1"));

但另一种方式可能是您的思维方式,只需确保为 webform1 回发,例如重定向到 webform1 和表单加载

您可以检查是否会话不为空,然后与会话数据绑定

于 2013-08-02T08:26:29.290 回答
1

您要做的是:
1. 当您单击按钮时,它会弹出一个窗口(您所说的 webform 2)
2. 现在用户从 Excel 文件中加载数据。
3. 你想在 Grid on web form1中绑定该数据

好的,现在创建如下所述的过程:

  1. 取一个会话变量,检查它是否不为空,将其数据绑定到webform1上,如下所示:
if (Session["ExcelData"]!=null)
{
   //Code here of binding the grid
   DataTable dt= (DataTable)Session["ExcelData"];
   GridView1.DataSource= dt;
   GridView1.DataBind();
}
  1. 现在转到第二个网络表单的按钮,单击您正在从 excel 加载数据。
  2. 创建一个dataTable并用excel中的数据填充它(从excel加载的数据)
  3. 并将该数据表存储在 Session 中,如下所示:

会话["ExcelData"]=dtExceldata;

  1. 关闭弹出窗口并调用GridBind方法。

更新:

就这样。希望对你有帮助

于 2013-08-02T08:19:34.700 回答
0

您必须在 'ebform2.aspx 中再添加一个网格视图并将其放在面板控件中,以帮助您隐藏网格视图。在导入按钮中使面板可见,以便具有新值的网格视图将出现在同一页面上。

于 2013-08-02T07:17:21.547 回答