我正在研究 GWT CellTree 上的搜索功能。
我有一个有 4 个级别的 cellTree。即Root->Session->Uproc->Batch。
我需要做的是,当我从数据库中获取搜索到的节点及其父节点时,我需要展开其父节点并突出显示该节点。
我可以展开父节点,但如何突出显示搜索到的节点?
请帮我解决这个问题。
最简单的方法是在SelectionModel
.
如果这不是您想要的,而您只想要某种其他类型的突出显示,那么它会变得很棘手:您必须以某种方式与您沟通,Cell
必须以突出显示状态绘制特定值,然后重新绘制单元格。
第一部分取决于您如何构建代码;对于第二部分,您必须为突出显示的节点的父TreeViewModel.NodeInfo
级获取实例(或者如果您使用TreeViewModel.DefaultNodeInfo
, 在其上AbstractDataProvider
)的句柄,以便您可以触发子列表的重绘(突出显示的项目所在的位置) . 这又取决于您是如何做到的,但是您必须以某种方式调用's (代表子列表)HasData
setRowData
,将与已显示的数据完全相同的数据传递给它(但这足以触发重绘,以便为项目Cell
生成突出显示的状态)。
你可以试试这个:
您可以通过给它 css 来突出显示搜索到的节点。这是CSS:
.selected_tree_node {
font-weight: bold;
}
将此 CSS 应用到您的节点:
yourNode.setStyleName("selected_tree_node");