2014-02-26 195 views
2

在Telerik的extenstion傳遞額外的數據我用劍道電網如何從Java腳本傳遞額外的參數

function onDataBinding(e) 
{ 
    e.data = {argument : 4}; 
} 

其中E是與數據的div cointainer內部反對Ajax請求, 我怎樣才能做到這一點使用劍道?我也嘗試過,但是對於劍道而言,它們完全不同。

回答

5

我終於得到了答案我自己的,它是:

$('#grid').data('kendoGrid').dataSource.Read({name:value}) 
2

試試這個 1.增加給你的網格讀取功能或任何CRUD操作

.Read(read => read.Action("ReadCompanyService", "Admin").Data("CompanyServiceFilter")) 
  1. 添加JavaScript

    功能CompanyServiceFilter(){

     return { 
    
          company: $("#ServiceCompany").val() 
    
         } 
        } 
    
  2. 在您的contorller

    公衆的ActionResult ReadCompanyService([DataSourceRequest] DataSourceRequest要求,串公司) {

    var gridList = repository.GetCompanyServiceRateList(company) 
    return Json(gridList.ToDataSourceResult(request)); 
    
    
    } 
    

請注意只有字符串類型的數據被允許在讀傳遞,創建,更新和刪除操作。

問候

shaz

+0

但我詢問如何從Java腳本做到這一點,如何使用JavaScript,如果我有這樣的變種電網通過。 – kosnkov

+0

給我充分理解,請發佈代碼並描述你正在努力實現的目標.... – Shaz

2

,如果你婉一些PARAM傳遞給Ajax請求,您可以在網格使用parameterMap的配置。

這將傳遞給您的Ajax請求。

,parameterMap: function (options, operation) { 
          if (operation === "read") { 
           var selectedID = $("#SomeElement").val(); 

           return {ID: selectedID } 

          } 
          return kendo.stringify(options.models) ; 
         } 
3

對不起,我遲到可怕的聚會,但我有一些特殊的蛋糕,你可能會覺得好吃:

function readData() 
{ 
    return { 
     anagId: selectedItem.ID 
    }; 
} 

    $("#grid").kendoGrid({ 
     dataSource: { 
      type: "ajax", 
      transport: { 
       read: {"url":"@Url.Action("RecordRead", "Tools")","data":readData} 
     } 
     [ rest of the grid configuration] 

我通過檢查由Kendo Asp.Net MVC幫助程序生成的代碼來看到此代碼。

我不知道這是否是在帖子的年齡不存在的進一步實現,但與我看到的其他答案相比,這種方式看起來非常靈活。 HTH

1

試試這個

.Read(read => read.Action("Controller", "Action") 
     .Data(@<text> 
        function() {            
           return { 
              searchModel: DataFunctionName(), 
              userName: '#=UserName#' 
             } 
           } 
       </text>) 
       ) 

JS功能

function DataFunctionName() { 
var searchModel = { 
         Active: $("#activityMonitorIsActive").data('kendoDropDownList').value(), 
         Login: $("#activityMonitorUsers").data('kendoComboBox').value() 
        }; 
return searchModel; 
}