将新行添加到以gwt为单位的listgrid中

时间:2012-08-06 08:58:29

标签: grouping smartgwt listgrid

我的智能gwt listgrid按其列之一进行分组。如果我想在网格中的组中添加新行,请单击组和添加按钮。无论分组如何,都会添加一行作为网格的最后一行进行编辑。保存行后,其显示在正确的组中。有没有办法在同一组本身而不是最后一行添加新行进行编辑?

1 个答案:

答案 0 :(得分:1)

如果您想使用挂起编辑,则必须使用TreeGrid而不是ListGrid。使用基础树,您可以通过调用以下方法将新记录添加到专用TreeNode:

tree.add(node, parent);

为了获得分组ListGrid的类似外观,您需要稍微自定义TreeGrid:

setShowOpenIcons(false);
setShowDropIcons(false);
setFolderIcon(null);
setNodeIcon(null);

通过覆盖方法:

@Override
protected String getCellStyle(ListGridRecord record, int rowNum, int colNum) {
    if (data.isFolder((TreeNode) record)) {
        return "myOwnHeader";
    }
    return super.getCellStyle(record, rowNum, colNum);
}

您可以为所有标题定义自定义样式,如下所示:

.myOwnHeader{
    border-bottom: 1px solid #8299B8;
    color: #3764A3;
    font-family: Tahoma,Verdana,sans-serif;
    font-weight: bold;
}