Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 剑道-插入事件属性_Javascript_Html_Asp.net Mvc 4_Kendo Ui - Fatal编程技术网

Javascript 剑道-插入事件属性

Javascript 剑道-插入事件属性,javascript,html,asp.net-mvc-4,kendo-ui,Javascript,Html,Asp.net Mvc 4,Kendo Ui,我创建了一个通用js DataGrid创建者,代码如下: function createGrid(targetDiv, mycolums, source, fnChange) { return $(targetDiv).kendoGrid({ dataSource: { data: source, pageSize: 20 }, scrollable: true, sortable: true,

我创建了一个通用js DataGrid创建者,代码如下:

function createGrid(targetDiv, mycolums, source, fnChange) {
  return $(targetDiv).kendoGrid({
      dataSource: {
          data: source,
          pageSize: 20
       },
      scrollable: true,
      sortable: true,
      pageable: {
        input: true,
        numeric: false
       },
    columns: mycolums, 
    change: fnChange
});
}
称之为:

createGrid("#grid1", columns, dataSource, onChange);
它工作得很好,但我想以某种方式修改我的create grid函数,因为有时一些网格需要绑定到其他事件,比如
edit:fnEdit
等等

我的问题是,如何修改
createGrid
以接受对象而不是特定参数。比如说,我想做一些事情,比如:

createGrid("#grid1", columns, dataSource, {change: OnChange, edit: OnEdit});
所以我可以这样称呼它:

createGrid("#grid1", columns, dataSource, {change: OnChange, edit: OnEdit});

你的建议应该行得通。在函数中,设置网格属性时只需检查对象属性:

var otherAttrs = {
  change: onChange,
  dataBound: onDatabound                  
};

createGrid(div, cols, datas, otherAttrs);

function createGrid(targetDiv, mycolums, source, opts) {
    return $(targetDiv).kendoGrid({
        dataSource: {
            data: source,
            pageSize: 20
         },
        scrollable: true,
        sortable: true,
        selectable: "multiple, row",
        pageable: {
          input: true,
          numeric: false
        },
        columns: mycolums, 
        change: opts.change ? opts.change : null,
        dataBound: opts.dataBound ? opts.dataBound : null,
   });
}

工作