2015-10-09 32 views
1

我想分配視圖的JavaScript部分中的劍道網格的數據源,因爲我想顯示它作爲響應從同一頁面上的另一個kendogrid中選擇另一個對象,所以我想要將該對象的值傳遞給控制器​​,然後查看網格。在Javascript部分中分配劍道網格的數據源。 (Asp.net MVC-Razor引擎)

我發現最好的方法是在javascript中選擇與選擇部分相關的數據源,如果有更好的想法,請提出建議。

劍道格:

@(Html.Kendo().Grid<dynamic>() 
.Name("StatusGrid") 
//.HtmlAttributes(new { style="width:50%;" }) 
.Columns(columns => 
{ 
    foreach (System.Data.DataColumn c in Model.GridStatus.Columns) 
    { 
     columns.Bound(c.ColumnName).EditorTemplateName("String"); 
    } 
}) 
.DataSource(dataSource => dataSource 
    .Ajax() 
    .Events(events => events.Error("error_handler")) 
    .Model(model => 
    { 
     foreach (System.Data.DataColumn column in Model.GridStatus.Columns) 
     { 
      model.Field(column.ColumnName, column.DataType); 
      model.Id("Id"); 
     } 
    }) 
    //.Read(read => 

    // read.Action("ActivityGridDisplay", "Configuration") 
    //) 
)) 

那麼怎麼寫這個部分的JavaScript :(分配讀取和模型)?

.DataSource(dataSource => dataSource 
    .Ajax() 
    .Events(events => events.Error("error_handler")) 
    .Model(model => 
    { 
     foreach (System.Data.DataColumn column in Model.GridStatus.Columns) 
     { 
      model.Field(column.ColumnName, column.DataType); 
      model.Id("Id"); 
     } 
    }) 
    .Read(read => 

     read.Action("ActivityGridDisplay", "Configuration") 
    ) 
)) 

回答

0

它可以在一個簡單的方法來完成,只是分配或使用AJAX讀取部分綁定,甚至你可以通過使用JavaScript代碼閱讀部分的一些變量,我找不到比劍道簡單:

function onChange(e) { 

    var grid = $("#grid").data("kendoGrid"); 
    var dataRows = grid.items(); 
    var rowIndex = dataRows.index(grid.select()); 
    var selectedname = grid.dataItems()[rowIndex]; 
    document.getElementById("ActivityGrid").style.bottom = "0px"; 

    $.ajax({ 

     url: '/Configuration/ActivityGridDisplay', 
     contentType: 'application/html charset=utf-8', 
     type: 'GET', 
     dataType: 'html', 
     data: { 'nodeName': selectedname.Name, 'nodeType': selectedname.Type, 'nodeID': selectedname.NodeId }, 
     success: function (data) { 
      $('#body').html(data); 
     } 
    }) 


} 

和問題的編輯部分