我使用Extjs实现了一个显示数据库内容的gridpanel。 在文本字段中,我们可以编写一个提交的关键字,用于从数据库中检索信息。
我的问题是: 如何在gridpanel中高亮显示结果中的关键字? 我不想突出显示整行,只是关键字。
/问候。
答案 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