如何突出显示搜索到的字符串

时间:2011-03-18 13:28:41

标签: extjs

我使用Extjs实现了一个显示数据库内容的gridpanel。 在文本字段中,我们可以编写一个提交的关键字,用于从数据库中检索信息。

我的问题是: 如何在gridpanel中高亮显示结果中的关键字? 我不想突出显示整行,只是关键字。

/问候。

2 个答案:

答案 0 :(得分:2)

您是如何实现搜索功能的?您是在服务器上执行它还是只是在javascript中过滤商店?

如果您正在远程执行此操作,则可以更轻松地突出显示服务器端代码中的字符串(例如,在搜索字符串周围包裹<span class="highlight">)。

如果您在ExtJS中执行此操作,则必须重新呈现可能包含您搜索的单词的所有网格列。那会更难。

答案 1 :(得分:0)

如果要突出显示匹配的整行,可以尝试重新定义GridView的getRowClass方法:

viewConfig: {
        forceFit: true,

//      Return CSS class to apply to rows depending upon data values
        getRowClass: function(record, index) {
            var c = record.get('change'); //or loop through all record fields
            if (c.match(...get search string in here...)) {
                return 'highlight';
            } 
        }
    }

如果要突出显示单元格本身,则必须在加载商店时遍历所有记录及其字段,使用getCell获取网格单元格并对其应用cass