继续第一部分,我们继续来讲AdvancedDataGrid的使用。
选择多个单元格及多行
所有基于List的控件都支持allowMultipleSelection属性。将allowMultipleSelection属性设置为True可以使得您在控件中一次选择不止一个条目。例如,DataGrid控件可以让您选择多行这样您就可以将他们拖放到另一个DataGrid中。
AdvancedDataGrid增加了可以让您选择多个单元格的新的特性,一旦已选择,您就可以将其拖放到另一个AdvancedDataGrid控件中、将它们拷贝到剪切板中或者在单元格数据进行某些其他的处理。
您可以使用AdvancedDataGrid控件的selectionMode和allowMultipleSelection配置多重选择。selectionMode的缺省属性是singleRow,这就是说您一次只能选择单行。要多重选择,需要将selectionMode属性设置为multipleRows或者multipleCells。
多个单元格的选择方式和表格处理软件中的用法相似,连续的使用Shift键,非连续的使用Control建。
选择控件中邻近的单元
- 点击第一个单元,在某行或某列,选择它。
- 在选择其他的单元时按下Shift键。如果selectionMode设置为multipleRows,点击任何其他行的单元格来选择多个时,将选择邻近的行。如果selectionMode设置为multipleCells,点击任何单元格,将选择邻近的单元格
选择控件中非邻近的单元
- 点击第一个单元,在某行或某列,选择它。
- 在选择其他的单元时按下Control键。如果selectionMode设置为multipleRows,点击任何其他行的单元格来选择多个时,将选择该单独的行。如果selectionMode设置为multipleCells,点击任何单元格,将选择该单独的单元格
一旦选择了AdvancedDataGrid控件的某行或列时,该控件将更新selectedCells属性来记录您的选择信息。selectedCells是一个对象数组,它包含的每个对象都有一个rowIndex和columnIndex属性来表示您选择的单元格在控件中的行列的位置。
selectionMode属性的值决定了rowIndex和columnIndex属性的值,如下表所示:
| selectionMode属性 |
rowIndex和columnIndex属性值 |
| none |
控件不允许选择,并且selectedCells为null |
| singleRow |
点击某行的任意单元来选择该行。 在选择后,selectedCells包含一个单独对象: [{rowIndex:selectedRowIndex, columnIndex: -1}] |
| multipleRows |
点击某行的任意单元来选择该行。 对于非邻近行,按下Control键时,点击其他行的单元格来选择其他行。 对于邻近行,按下Shfit键时,点击其他行的单元格来选择多个连续的行。 选择后,每行在selectedCells保存为一个对象:
[ {rowIndex: selectedRowIndex1, columnIndex: -1},
{rowIndex: selectedRowIndex2, columnIndex: -1},
...
{rowIndex: selectedRowIndexN, columnIndex: -1}
]
|
| singleCell |
点击任意单元来选择该单元格。 在选择后,selectedCells包含一个单独对象: [{rowIndex: selectedRowIndex, columnIndex:selectedColIndex}] |
| multipleRows |
点击任意单元来选择该单元格。 对于非邻近单元,按下Control键时,点击任意单元格来选择多个非连续的单元格。 对于邻近单元,按下Shfit键时,点击任意单元格来选择多个连续的单元格。 选择后,每行在selectedCells保存为一个对象:
[ {rowIndex: selectedRowIndex1, columnIndex: selectedColIndex1},
{rowIndex: selectedRowIndex2, columnIndex: selectedColIndex2},
...
{rowIndex: selectedRowIndexN, columnIndex: selectedColIndexN}
]
|
以下示例设置selectionMode属性为multipleCells使得您可以选择表格中的多个单元。该应用使用KeyUp事件处理器来识别Control-C组合键,如果监听到,将选择的多个单元格从AdvancedDataGrid控件复制到系统剪贴板中。
在拷贝单元格后,您可以将这些单元格粘贴到Flex应用的其他位置中,或者将它们粘贴到其他应用如微软Excel。您可以将它们粘贴到应用底部的TextArea中去。
|