Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从my ASPx DevExpress gridview导出所选数据_C#_Asp.net_Gridview_Data Binding_Devexpress - Fatal编程技术网

C# 如何从my ASPx DevExpress gridview导出所选数据

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对象中创建数据。然

我需要将我的DevExpress GridView的选定行导出到XLS。 当我尝试导出网格时,它会创建一个空文件。我认为这是由于回调在导出之前清除了网格中的数据

这是我的ASPx页面的示例

“加载数据”按钮

 <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;

        }