基本上,用户可以通过用鼠标拖动数据单元格区域,将指定区域指定为选中状态。 这时,将会根据通过DisplayOptions.selectStyle指定的选择样式而指定选择区域。
Total = 0
如果RowIndicator.selectable为true,用户可以通过使用鼠标拖动RowIndicator区域而选择行。
如果GridHeader.selectable为true,就可以在按住shift或ctrl键的同时,通过拖动列标头区域而选择列。
另外,用户可以在按住shift键的同时,通过移动方向键而变更选择区域。
在使用鼠标或键盘进行选择时,将会触发GridBase.onSelectionResized和GridBase.onSelectionChanged事件, 而结束选择后,将会触发GridBase.onSelectionEnded事件。
可以通过getSelectedRowIndices而了解当前所选的行,并且可以通过getSelection而获取所选项。
grdMain.onSelectionEnded = function (grid) {
var rows = grid.getSelectedRows();
var fld = dsMain.getFieldIndex('salary');
var sum = 0;
for (var i = rows.length; i--;) {
var r = grid.getRow(rows[i]).dataIndex();
if (r >= 0) {
sum += dataSet.getValue(r, fld);
}
}
$('#salaryTotal').text(sum);
};
有关选择区域的详细说明,请参考SelectionItem说明。
基本上,在选择区域内使用TAB或ENTER键而移动单元格时,将不会脱离区域。 可以通过EditOptions.moveInSelection属性,指定移动方式。
可以通过GridBody.selectionStyles,指定选择区域的填充以及边框颜色。
grdMain.body().setSelectionStyles({
background: "#100000ff",
border: "#dd0000ff,2px"
});