如何从Kendo UI网格中获取所选值

时间:2016-02-04 20:11:43

标签: javascript kendo-ui kendo-grid

我正在使用Kendo网格。如果选择行,我想获取所选多行的值(field-nlv_id)。此外,我想获取所选行的数量并传递给控制器​​。让我知道这样做的方法。

columns : [
            {
              'field' : 'nlv_id',
              'title' : 'Asset ID' 
            },
            {
              'field' : 'due_date',
              'title' : 'Partner Due Date'
             },
            {
              'field' : 'link',
              'title' : 'Partner'
            },
            {
              'field' : 'playlist_type',
              'title' : 'Playlist Style'
            },
            {
              'field' : 'show_code',
              'title' : 'Show Code'
            },
            {
               'field' : 'status',
               'title' : 'Status'
           },
           {
             'field' : 'retry_count',
             'title' : '# Retries'
           }
          ],

            scrollable : false,

            pageable : {
                pageSizes : [ 10, 25, 50 ],
                buttonCount : 5,
                refresh : true,
                messages : {
                  display : "{0} - {1} of {2} assets",
                  itemsPerPage : "assets per page",
                  empty : "No assets to display"
                }
              },

            dataSource : new kendo.data.DataSource({
                serverPaging : true,
                transport : {
                    read : getJobs
                },
                pageSize : 10, 
                schema : {
                    total : returnTotalCount
                }
            }),

            selectable : 'multiple',
            sortable : true
      };    

1 个答案:

答案 0 :(得分:0)

您需要在网格上执行change()事件,然后您将选择项目,为了方便我使用包含所有选定项目的列表做了一个示例,因此您可以轻松获取所选行数。 / p>

 change: function (e, args) {

        var currentSelected = this.select();

                var dataSource = $grid.dataSource.data();
                currentItems = [];
                $.map(currentSelected, function (item) {
                    currentItems.push($grid.dataItem(item).nlv_id) ;
                    return $grid.dataItem(item).nlv_id;
                });
              alert(currentItems);


          },

你可以像那样计算

currentItems.length;

编辑:为了方便我创建一个例子,更容易。

重要提示:您必须在Schema中设置'nlv_id'! http://jsfiddle.net/2ojwwpLf/

希望这个帮助