单击功能区按钮项目时,DevExpress导出ASPxGridView



当我点击功能区按钮时,我正试图导出我的网格视图

问题是功能区按钮单击是客户端事件,导出功能由服务器处理。

<script type="text/javascript">
//Ribbon events
function onCommandExecuted(s, e) {
var name = e.item.name;
if (name == "Ajouter") {
grid.AddNewRow();
}
else if (name == "Modifier") {
grid.StartEditRow(grid.GetFocusedRowIndex());
}
else if (name == "Supprimer") {
if (confirm("Vous confirmez la suppression de l'élement selectionné ?")) {
grid.DeleteRow(grid.GetFocusedRowIndex());
}
}
else if (name = "Excel")
{
//What to do here?
}
}

</script>
//The export function (C#)
protected void btnXlsExport_Click(object sender, EventArgs e)
{
gridExport.WriteXlsToResponse();
}

如何在脚本中调用导出函数。谢谢

如前所述,您只能在回发后从服务器站点导出GridView。你可以在你的网格视图附近添加隐藏控件,类似于下面的代码

<dx:ASPxButton runat="server" ID="_exportBtn" ClientInstanceName="_exportBtn" ClientVisible="false" OnClick="OnClickExport" />

将卸载代码移动到OnClickExport方法

public void OnClickExport(object sender, EventArgs args)
{
gridExport.WriteXlsxToResponse();
}

然后点击它从你的客户端代码

else if (name = "Excel")
{
//What to do here?
_exportBtn.OnClick();
}

ASPxGridView不允许在客户端上导出其内容一边您只能在服务器端完成此任务。此任务只能通过回发在服务器端完成。

请参阅:
如何在客户端导出ASPxGridView内容
ASPxGridView-如何在客户端导出网格

另请参阅:
导出数据-导出为PDF、XLS、XLSX和RTF

编辑:
来源:ASPxGridView-如何通过回调导出ASPxGridView

由于回调设计:回调的概念,在处理回调时无法导出和下载文件。要克服此问题,请通过ASPxButton发送完整的回发。在这种情况下,您将能够在ASPxButton.Click事件处理程序中导出网格数据。请注意,您需要将ASPxGridView绑定到相应的数据源,该数据源依赖于ASPxtabControl的活动选项卡。

示例:
//Button Markup

<dx:ASPxButton ID="btnXlsExport" runat="server" AutoPostBack="False"  ClientInstanceName="btnXlsExport" UseSubmitBehavior="true"                         OnClick="btnXlsExport_Click" Text="Export">
</dx:ASPxButton>

//使用ASPxClientButton.DoClick方法直接在javascript代码中调用它

else if (name = "Excel")
{
btnXlsExport.DoClick();
}

最新更新