【问题标题】:Kendo UI Grid Get Row ValuesKendo UI Grid 获取行值
【发布时间】:2013-10-18 20:40:50
【问题描述】:

我正在尝试获取行项目值(姓名、电子邮件、年龄),但我只能使用下面的代码获取第一项。

如何通过更改tr:eq(1) 代码来获取其他行文本,或者有没有其他方法可以获取两个项目的值?

$("#grid_").kendoDropTarget({
    drop: function (e) {
        var data = grid.dataItem("tr:eq(1)");
        // I only get first row but I need to dynamically get any row items.
        alert(data.name);
    }
});

【问题讨论】:

    标签: kendo-grid


    【解决方案1】:

    请试试这个..

    var entityGrid = $("#DataGrid").data("kendoGrid");       
    var data = entityGrid.dataSource.data();
    var totalNumber = data.length;
    
    for(var i = 0; i<totalNumber; i++) {
        var currentDataItem = data[i];
        VersionIdArray[i] = currentDataItem.VersionId;
    }
    

    【讨论】:

      【解决方案2】:

      感谢 Sanjay,但我只想选择一行项目,这就是我得到的:

      //Selecting Grid
      var gview = $("#grid").data("kendoGrid");
      //Getting selected item
      var selectedItem = gview.dataItem(gview.select());
      //accessing selected rows data 
      alert(selectedItem.email);
      

      所以结果很完美。

      【讨论】:

      • 我们可以在不选择行的情况下以某种方式实现吗?
      【解决方案3】:

      如果您的网格设置为 selectable: true,请使用以下内容:

      var mygrid = $("#grid").kendoGrid({
          selectable: true
      });
      
      mygrid.on("click", "tr", function() {
          var datarowindex = mygrid.data("kendoGrid").items().index(mygrid.data("kendoGrid").select());
          var datarowid = mygrid.data("kendoGrid").dataItem(mygrid.data("kendoGrid").select()).MyId;
          alert("index: " + datarowindex + " | value: " + datarowid);
      });
      

      如果您的 Kendo UI Grid 设置为 selectable: false,请使用以下内容:

      var mygrid = $("#grid").kendoGrid({
          selectable: false
      });
      
      mygrid.on("click", "tr", function() {
          var datarowindex = mygrid.data("kendoGrid").items().index($(this));
          var datarowid = mygrid.data("kendoGrid").dataItem($(this).closest("tr")).MyId;
          alert("index: " + datarowindex + " | value: " + datarowid);
      });
      

      其中 MyId 是您要查找的属性。

      【讨论】:

        【解决方案4】:

        我通常使用活动中的模型。有时,实际上很少会取消选择该行,因此 .select() 将返回一个长度为 0 的对象,该对象在尝试访问未定义的属性时会引发错误。

        您可能会更安全使用:e.model.name

        【讨论】:

          猜你喜欢
          • 2012-12-09
          • 1970-01-01
          • 2018-03-13
          • 1970-01-01
          • 2016-02-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多