C# 如何从my ASPx DevExpress gridview导出所选数据
我需要将我的DevExpress GridView的选定行导出到XLS。 当我尝试导出网格时,它会创建一个空文件。我认为这是由于回调在导出之前清除了网格中的数据 这是我的ASPx页面的示例 “加载数据”按钮C# 如何从my ASPx DevExpress gridview导出所选数据,c#,asp.net,gridview,data-binding,devexpress,C#,Asp.net,Gridview,Data Binding,Devexpress,我需要将我的DevExpress GridView的选定行导出到XLS。 当我尝试导出网格时,它会创建一个空文件。我认为这是由于回调在导出之前清除了网格中的数据 这是我的ASPx页面的示例 “加载数据”按钮 <asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="~/Styles/Images/load.png" onclick="ImageButton1_Click" /> 我在DataTable对象中创建数据。然
<asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="~/Styles/Images/load.png" onclick="ImageButton1_Click" />
我在DataTable对象中创建数据。然后我将数据表与网格绑定
grid.DataSource = fakes;
grid.DataBind();
一切似乎都很好,但当我点击导出按钮时,什么也没有导出
protected void createFile_Click(object sender, EventArgs e)
{
gridExport.WriteXlsToResponse();
}
我跟着火车走。但是,我的页面似乎已刷新,因此在导出之前,我松开了与网格绑定的数据 在代码隐藏中将数据绑定到ASPXGridView时,我遇到了类似的情况。我可以通过在导出行之前单击按钮来解决这个问题
protected void createFile_Click(object sender, EventArgs e)
{
grid.DataSource = fakes;
grid.DataBind();
gridExport.WriteXlsToResponse();
}
在代码隐藏中将数据绑定到ASPXGridView时,我遇到了类似的情况。我可以通过在导出行之前单击按钮来解决这个问题
protected void createFile_Click(object sender, EventArgs e)
{
grid.DataSource = fakes;
grid.DataBind();
gridExport.WriteXlsToResponse();
}
问题在于回发,正如我所预料的,我需要一种方法将我的gridView数据保存在某个地方,并在回发后重新加载它 我将OnDataBinding属性添加到我的gridView中
<dx:ASPxGridView ID="grid" ClientInstanceName="grid" runat="server"
AutoGenerateColumns="False" Width="100%" Caption="My car collection"
OnDataBinding="grid_DataBinding" KeyFieldName="car_model">
如果需要,不要忘记在会话中保存数据。(我在搜索之后就这么做了)
问题在于回发,正如我所预料的,我需要一种方法将我的gridView数据保存在某个地方,并在回发后重新加载它 我将OnDataBinding属性添加到我的gridView中
<dx:ASPxGridView ID="grid" ClientInstanceName="grid" runat="server"
AutoGenerateColumns="False" Width="100%" Caption="My car collection"
OnDataBinding="grid_DataBinding" KeyFieldName="car_model">
如果需要,不要忘记在会话中保存数据。(我在搜索之后就这么做了)
它显示writexltoresponse()执行回调,因为您的代码允许我导出数据,但不允许只导出选定的行。是的,在我的示例中,我只需要按原样导出网格,过滤是用代码中的数据完成的。如果您能够将数据源放在控件的属性中(而不是放在代码中),它应该可以执行您想要的操作。这表明writexstoresponse()执行回调,因为您的代码允许我导出数据,但不允许导出所选行中的任何一行。是的,在我的情况下,我只需要按原样导出网格,过滤是用代码隐藏中的数据完成的。如果您能够将数据源放在控件的属性中(而不是放在代码中),那么它应该做您想要做的事情。
protected void createFile_Click(object sender, EventArgs e)
{
grid.DataSource = fakes;
grid.DataBind();
gridExport.WriteXlsToResponse();
}
<dx:ASPxGridView ID="grid" ClientInstanceName="grid" runat="server"
AutoGenerateColumns="False" Width="100%" Caption="My car collection"
OnDataBinding="grid_DataBinding" KeyFieldName="car_model">
protected void grid_DataBinding(object sender, EventArgs e)
{
if (Session["gridData"] != null)
{
// Assign the data source in grid_DataBinding
grid.DataSource = Session["gridData"];
}
}
protected void searchBtn_Click(object sender, ImageClickEventArgs e)
{
datas = FindCars(input.Text);
grid.DataSource = datas;
grid.DataBind();
//Store data in the session
Session["gridData"] = this.datas;
}