Javascript Extjs 6 ItemSelector如何以编程方式绘制行
我使用的是ExtJS 6.0.2,我有一个项目选择器,其中包含以下信息:Javascript Extjs 6 ItemSelector如何以编程方式绘制行,javascript,extjs,extjs6,extjs6.2,itemselector,Javascript,Extjs,Extjs6,Extjs6.2,Itemselector,我使用的是ExtJS 6.0.2,我有一个项目选择器,其中包含以下信息: { xtype: 'itemselector', name: 'itemselector', id:'issuerSelec
{
xtype: 'itemselector',
name: 'itemselector',
id:'issuerSelector',
buttons: ['add', 'remove', 'allleft','allright'],
height: 300,
width: '30%',
store: 'ItemsStore',
displayField: 'code_isin',
valueField: 'id_valeur',
fromTitle: "fromList",
toTitle: 'toList',
listeners: {
afterrender: function (selector) {
selector.onDisable();
},
change: 'someFuncHere'
},
}
我想要的是,在加载itemselector数据之后,列表“fromField”中的任何数据都具有:
…应该用不同的颜色。(注意:我不想为此执行“onChange”事件,因为我希望它在加载时识别,而不是在更改后识别)
我尝试在ItemSelector的afterrender上使用此选项:
Ext.getCmp('issuerSelector').viewConfig = {
getRowClass : function( record ) {
if ( record.data.flag == 1 ) {
return 'newCss';
}
}
}
…但由于某些原因,css不会显示,即使删除了if,新的css也不会应用于itemSelector(这在网格上正常工作)。因此,我在这里询问是否有人可以帮助我找到解决此问题的方法。问题是,
viewConfig
已在渲染期间应用于视图
您可能需要检查的是
grid.getView().getRowClass=function()…
是否有效。谢谢您的帮助,但当我尝试执行grid.getView().getRowClass时,Ext.getCmp(…)。getView不是function@Chazz1那么您的组件就不是网格了。如果您确定有网格,您可能必须首先找到网格。您可以尝试使用grid=component.down('grid')
或类似工具从任何组件获取网格。您可以使用Ext.ComponentQuery.query(“grid”)检查是否存在网格,它将为您提供应用程序中呈现的所有网格的列表。
Ext.getCmp('issuerSelector').viewConfig = {
getRowClass : function( record ) {
if ( record.data.flag == 1 ) {
return 'newCss';
}
}
}