簡體   English   中英

如何隱藏(隱藏)SWT TableItem?

[英]How can I (un)hide a SWT TableItem?

我試圖讓我的用戶搜索信息表,動態隱藏/顯示包含搜索的結果。 我的隱藏部分已經放下,而且效果很好,但是一旦更改搜索條件,我就無法再次顯示表格項目。

這是我的隱藏代碼:

searchField.addModifyListener(new ModifyListener() {
            @Override
            public void modifyText(ModifyEvent arg0) {
                modified = true;
                for (int i = 0; i < table.getItems().length; i++) {
                    if (!(table.getItem(i).getText(2)
                            .contains(searchField.getText()))) {
                        table.getItem(i).dispose();
                    }

                }
                if ("".equals(searchField.getText())) {
                    modified = false;
                                    //where I would want to un-hide items
                }
            }
        });

查看您的代碼,看來您試圖通過調用dispose() 隱藏item 如果您放置一個小部件,它將永遠消失。 你無法取回它。

如果要取消隱藏 ,則必須在以前隱藏的具有相同內容的位置處創建一個新項目。

實際使用某種表模型和JFace綁定不是更好,而是那樣做嗎? 是的,處置並沒有隱藏。 您可能應該從表中刪除該項目。

在調用dispose之前,您可能必須將TableItem的數據保存到集合中。 然后,當您再次搜索時,可以檢查該集合以及是否找到匹配項,然后通過創建新TableItem將其重新插入Table

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM