SMART datagrid v.1 > Examples

Back  Forward

Cell Merging  Example

我们可以合并显示属于同一列中的一个以上的临近单元格。 合并单元格的标准是指定在ValueColumn.mergeExpression属性中的表达式的结果值。 也就是说,如果用表达式计算各个行并且相关值与上个单元格的值相同,就会合并显示两个单元格。 如果SMART datagrid达式不足以使用时,也可以在mergeCallback属性中,指定JavaScript回调函数。 

Code -1
    var col = grid.columnByName('Country');
    col.setMergeExpression('value');
    // 或,JavaScript回调,
    col.setMergeCallback(function (item, column) {
        // 如果是用报表导出的网格,就必须通过以下方式局部查找网格,而不是使用全局网格变量。
        return column.grid().getValueAt(item, column + grdMain.getValueAt(item, 'flow');
    });
Grid - 1
rows

"国家_2"列的单元格,只显示国家名称的第一个字。 但是,如果使用ValueColumn.mergeValueCallbackValueColumn.mergeValueExpression,就可以在合并单元格中,指定显示不同的值。 如果两种属性都没有被指定,则会显示包含在合并中的第一行的值。 

Code -2
    var col = grid.columnByName('Country2');
    col.setMergeCallback(function (item, column) {
        return grdMain.getValueAt(item, column).substr(0, 1);         		    
    });
    col.setMergeValueCallback(function (item, column, value) {
        return value.substr(0, 1);            		    
    });

查看源代码 JSP 

See Also
ValueColumn.mergeExpression
ValueColumn.mergeCallback
ValueColumn.mergeValueExpression
ValueColumn.mergeValueCallback
SMART datagrid达式概述
Examples
单元格合并2