我正在使用Grails和jqGrid,並試圖讓一個奇怪的擴展工作: 我想讓用戶上傳一個文件,該文件將被傳遞給jqGrid控制器並用於過濾數據。例如,該文件是一個名稱列表,網格將被過濾爲包含這些名稱的行。有沒有簡單的方法來做到這一點?傳遞文件到jqGrid控制器
我一直在嘗試使用AJAX fileuploader與FormData對象,並試圖將它附加到jqGrid params。我已經得到最接近的是使用下面的,雖然我得到一些奇怪的行爲:
<g:form enctype="multipart/form-data" class="upload" name="fileinfo" id="fileinfo">
<input name="uploadField" id="uploadField" type="file" value="">
<input id="btnFilterFile" type="button" onclick="addFileFilter()" value="Apply Filter"/>
</g:form>
<table id="theGrid"></table>
<script>
function addFileFilter() {
var oData = new FormData(document.forms.namedItem("fileinfo"));
$("#theGrid").setGridParam({ajaxGridOptions:
{processData:false, type:'POST', data:oData}});
$("#theGrid").trigger("reloadGrid");
}
</script>
這是我已經能夠得到文件數據到達控制器的唯一途徑,但它似乎覆蓋來自網格的所有其他搜索/排序/分頁參數。如果我定義「數據」ajax參數是一個關鍵:對象對,那麼網格將不會重新加載,它甚至不會給我一個錯誤!如果有人對此有任何建議,我會非常感激!非常感謝!