2014-02-26 178 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; 
}