首页 > 代码库 > easyui的 getSelections 与 getSelected 对比区别

easyui的 getSelections 与 getSelected 对比区别

在使用easyui getSelections 与 getSelected中,经常如果不注意这两个的使用,用混的话,如果对这两个属性不了解,找起问题来,都很费事。走过的弯路,做一个记录。

DataGrid组件包括2个方法检索选择行数据:
· getSelected: 得到第一个选择行的数据,如果没有选择行则返回null否则返回该记录
· getSelections:得到全部的选择行的数据,如果元素是记录的话,返回数组数据
创建标记

<table id="tt"></table>

创建 datagrid

$(‘#tt‘).datagrid({    title:‘Load Data‘,    iconCls:‘icon-save‘,    width:600,    height:250,    url:‘datagrid_data.json‘,    columns:[[        {field:‘itemid‘,title:‘Item ID‘,width:80},        {field:‘productid‘,title:‘Product ID‘,width:80},        {field:‘listprice‘,title:‘List Price‘,width:80,align:‘right‘},        {field:‘unitcost‘,title:‘Unit Cost‘,width:80,align:‘right‘},        {field:‘attr1‘,title:‘Attribute‘,width:100},        {field:‘status‘,title:‘Status‘,width:60}    ]]});

 

用法演示
得到选择行数据:

var row = $(‘#tt‘).datagrid(‘getSelected‘);if (row){    alert(‘Item ID:‘+row.itemid+"\nPrice:"+row.listprice);}

 

得到全部选择行的itemid:

var ids = [];var rows = $(‘#tt‘).datagrid(‘getSelections‘);for(var i=0; i<rows.length; i++){    ids.push(rows[i].itemid);}alert(ids.join(‘\n‘));

 注意:如果你其实应该用var rows = $(‘#tt‘).datagrid(‘getSelections‘);但是误使用的是var row = $(‘#tt‘).datagrid(‘getSelected‘);则取出来的row.length是空值。很郁闷的!