SMART datagrid v.1 > Examples

Back  Forward

Shared Grid RowSource  Example

SMART datagrid格被区分为数据组、行模型、网格视图等三层,并且通过内部事件而松散连接起来。 特别是,网格是通过行模型而间接连接到数据组的。 另外,行模型可以构成包含数据组的数据行在内的、构成网格的其他行并显示在网格上。 

根据网格和树,将会分别通过GridRowSourceTreeRowSource对象而体现行模型,并且通过GridBase.rowSource属性进行访问。 虽然创建网格时会创建基本的rowSource,但是可以通过这个属性,重新指定为新创建在外部的对象。 而且,重要的是,多个网格可以共享一个rowSource对象。 

Grid - 1
rows
Grid - 2
rows

Grid-2Grid-1的rowSource设置为自身的rowSource。 

Code -1
    grdMain2.setRowSource(grdMain.rowSource());

行模型是适用排序、筛选、分组、分页等功能的对象,并且具有当前行的位置信息。 也就是说,在共享rowSource的网格上,将会反映相同的排序和筛选等内容,并且在同一行位置上显示焦点。 但是,各个网格可以具有单独的列模型,并且具有焦点的列可能会不同。 

因此,Grid-2的焦点行将会随着Grid-1的焦点行的变更而变更。 反之亦然。但是,两个网格的聚焦列可以设置在不同的位置上。 我们可以通过滚动鼠标或键盘而进行确认。 

另外,因为行修改或插入、添加等发生在行模型级别,所以一旦在一个网格上开始进行编辑,其状态就会立即反映到其他网格上。 可以使用Insert键等,在一个网格上开始行修改,或可以适用Grid-2"数量"列的筛选器。 

(如同说明,因为排序、筛选、分组、分页等被适用在行模型而非网格,所以我们需要将各个运行UI限制在一个网格上。) 

查看源代码 JSP 

See Also
GridDataSet
GridView
Examples
共享数据组