【问题标题】:Kendo grid with multiple select option enabled is not working properly启用多选选项的剑道网格无法正常工作
【发布时间】:2014-11-04 10:07:24
【问题描述】:

我正在使用剑道网格,其中我给出了多个选择选项,我将在按钮单击时显示网格。下面是脚本下写的代码...

    $('#btn').on("click", function(e) {
    summaryResultDataSource = [
            { name: "Jane Doe", age: 30 },
            { name: "John Doe", age: 33 },
            { name: "John Doe", age: 33 },
            { name: "John Doe", age: 33 },
            { name: "John Doe", age: 33 },
            { name: "John Doe", age: 33 },
            { name: "John Doe", age: 33 }
    ];

    $("#grid").kendoGrid({
    columns: [
             { field: "name" },
             { field: "age" }
    ],
    dataSource: { 
             data: summaryResultDataSource
    },
    selectable: "multiple, row"
    });

    });

现在,当我单击按钮时,网格按预期正确显示,并使用 ctrl + 单击选项选择多行。我第一次能够选择多行。

再次单击按钮,现在我无法使用 ctrl + click 选择多行并且它不起作用。

在哪里,我做错了。请帮我解决这个问题

这里是演示... http://dojo.telerik.com/EKOm/4

【问题讨论】:

    标签: jquery kendo-ui kendo-grid


    【解决方案1】:

    试试这个:

    这是一个奇怪的问题。你说它会在第一次点击后起作用,而不是在第二次点击后:真的。我发现它可以在所有其他点击中起作用:例如,在第三次点击之后,它会再次起作用。无论如何,试一试,我对这个问题做了一些解决方法。

        var first = true;
        $(function() {
    	    var first = true;
        });
        
      $('#btn').on("click", function (e) {
        
          summaryResultDataSource = [{
              name: "Jane Doe",
              age: 30
          }, {
              name: "John Doe",
              age: 33
          }, {
              name: "John Doe",
              age: 33
          }, {
              name: "John Doe",
              age: 33
          }, {
              name: "John Doe",
              age: 33
          }, {
              name: "John Doe",
              age: 33
          }, {
              name: "John Doe",
              age: 33
          }];
    
        if (first)
        {
          first = false;
          $("#grid").kendoGrid({
            columns: [{ field: "name"}, { field: "age" }],
            dataSource: { data: summaryResultDataSource },
            selectable: "multiple, row"
          });
        }
        else
        {
          $("#grid").kendoGrid({
            columns: [{ field: "name"}, { field: "age" }],
            dataSource: { data: summaryResultDataSource }
            });
        }
      });
    
      
    <head>
    <link rel="stylesheet" href="http://cdn.kendostatic.com/2014.2.903/styles/kendo.common.min.css">
    <link rel="stylesheet" href="http://cdn.kendostatic.com/2014.2.903/styles/kendo.rtl.min.css">
    <link rel="stylesheet" href="http://cdn.kendostatic.com/2014.2.903/styles/kendo.default.min.css">
    <link rel="stylesheet" href="http://cdn.kendostatic.com/2014.2.903/styles/kendo.dataviz.min.css">
    <link rel="stylesheet" href="http://cdn.kendostatic.com/2014.2.903/styles/kendo.dataviz.default.min.css">
    <link rel="stylesheet" href="http://cdn.kendostatic.com/2014.2.903/styles/kendo.mobile.all.min.css">
    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
    <script src="http://cdn.kendostatic.com/2014.2.903/js/kendo.all.min.js"></script>
    </head>
    <body>
      <button id="btn">Search</button>
    <div id="grid"></div>
    
    
      </body>

    Kendo UI Dojo

    【讨论】:

    • 感谢您的回答,它现在正在工作,但例如我在演示中仅包含两列网格,如果我有超过十列​​的意思,那么从您的回答中我可能需要写使用 if..else.. 两次相同的代码,我不想这样做。所以,如果我能得到任何替代解决方案,那就太好了。但是,无论如何 +1 为您的答案现在解决了我的问题...
    • 在 if 条件下,我将声明 $("#grid").kendoGrid 十列,在 else 条件下,我将编写相同的 $("#grid").kendoGrid 十列除了删除可选择的:“多个”。此外,我有更改事件、数据绑定、数据绑定事件......这些事情也会在 if 和 else 中重复
    • @SDK,你的意思是你不想在 if 和 else 中再次声明网格,对吧?
    • 没错,但这个答案现在可以解决问题了......真的很感谢
    • @SDK,我正在尝试解决这个问题,我不知道如何解决,但一定有办法
    【解决方案2】:

    请找到更新的演示链接http://dojo.telerik.com/EKOm/7

    每当您单击按钮时,只需尝试像下面这样清空网格,

      var Grid =  $('#grid').data("kendoGrid");   
          if(typeof (Grid) != 'undefined') {
             $("#grid").empty();
    }     
    

    希望对你有帮助!!!

    【讨论】:

      猜你喜欢
      • 2015-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多