![](/img/trans.png)
[英]Is there a way to display a checkbox as read-only using jquery-jtable?
[英]jquery-jtable: exporting selected lines using ajax/jsp
我需要在JSP環境中實現對Excel的導出功能,但僅針對jtable的選定行。
我的問題是:最好的方法是什么? 從jtable中,我選擇$('#SearchResultTable')。jtable('selectedRows')並將其發布(使用jquery $ .post())到我的servlet(使用poi生成Excel文件)中。 一切都很好,直到我不得不從servlet獲取響應為止。 事實證明,我無法將其保存到磁盤或提示瀏覽器下載它,因為ajax基本上是javascript,因此無法訪問該磁盤。
有一個更好的方法嗎? 我希望能夠命名並保存生成的文件。
這是我處理該帖子的call函數:
toolbar: {
items: [{
icon: 'art/excel_ico.gif',
text: 'Esporta in Excel',
display: 'download="Report.xls"',
click: function() {
return $.post("ExcelExport", {n: "Magazzino", t: $('#SelectedRowList')[0].innerHTML})
.done(function(data) {
alert("Data Loaded: " + data);
});
}
}]
},
謝謝您的幫助,法比奧。
解決了。
我在JTable中使用了表單而不是“ toolbar:”項。 對任何可能感興趣的人:
我從JTable初始化函數中刪除了“工具欄”項。 在頁面上添加一個表單,如下所示:
<div id="formWrapper">
<form id="exportForm" action="ExcelExport" method="post">
<input type="hidden" value="" name="exportRows" id="exportRows">
<input type="hidden" value="Ordini" name="dataType" id="dataType">
<input type="submit" value="Esporta">
</form>
</div>
使用css為表單設置樣式,使其看起來像JTable工具欄上的按鈕。
在JTable初始化中,我添加了selectionChange項,如下所示:
selectionChanged: function() {
var $selectedRows = $('#SearchResultTable').jtable('selectedRows');
$('input:hidden[name="exportRows"]').val("");
$selectedRows.each(function() {
var record = $(this).data('record');
$('input:hidden[name="exportRows"]').val($('input:hidden[name="exportRows"]').val()
+ record.id. ... );
});
}
因此,每當我更改JTable選擇中的內容時,exportRows的值都會更改。 該表單指向我的Servlet,然后可以將其作為Excel文件發送回數據,我可以對其進行命名和保存。
希望能幫助到你。 法比奧
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.