2012-07-26 76 views
0

我正在使用多選功能來選擇行並使用getRowData將數據傳遞給控制器​​來傳遞整行而不是傳遞單個單元格值。我在用戶選擇單行復選框時觸發了onSelectRow事件。我能夠使用getRowData檢索行數據並將其傳遞給接受字符串但數據爲空的控制器。以下是我的onSelectRow事件。當在jqGrid中使用Multiselect時,getRowData的控制器參數是什麼ASP.NET MVC

onSelectRow: function (row_id) { 

var rowData = $("#employee").getRowData(row_id); 
$.ajax({ 
    type: 'POST', 
    url: '/Home/Create/', 
    data: { gridData: rowData }, 
    dataType: "json" 
}); 

這是我接受字符串參數的控制器操作。

public ActionResult Create(string gridData) {} 

我已閱讀其他職位,並試圖發送到控制器之前使用Json.stringify,但我有困難,將其轉換爲我所需要的格式,因此讓行數據將是對我更靈活操縱它。

什麼應該是我的控制器操作應該接受適當檢索gridData的參數?

任何建議,非常感謝!

回答

0

好,我得到了你的問題,首先強似ROW_ID做這樣

var sel_id = jQuery("#grid").jqGrid('getGridParam', 'selrow'); 

這會給你選擇行的id,然後就可以得到這樣的

var val = jQuery("#grid").jqGrid('getRowData', sel_id); 

數據然後當你發送數據時,你需要將它串起來...讓我告訴你一個例子,我選擇所有行並將數據發送給控制器...在這裏查看我的答案

OnClickButton function parameter for MultiSelect jqgrid MVC3

+0

@LeftyX:你好,我試圖用這個方法傳遞一個參數給dataInit-method,但是在dataInit發射的那一刻,選定的行似乎是未知的:'dataInit'=>「function(elem ){var sel_id = jQuery('#grid')。jqGrid('getGridParam','selrow'); alert(sel_id);}「警報是空的,這對我來說不合邏輯,因爲我選擇了行,然後我加載給定行的表單編輯,爲什麼我沒有selrow?我希望有機會在selectlist中使用參數進行數據初始化:'dataUrl'=>'/ script /?id ='+ jQuery(「#grid」)。jqGrid('getRowData',sel_id);我怎樣才能做到這一點? – Anatoliy 2012-08-20 07:01:39

相關問題