Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript EXTJS在单击时更改网格单元背景颜色_Javascript_Extjs4 - Fatal编程技术网

Javascript EXTJS在单击时更改网格单元背景颜色

Javascript EXTJS在单击时更改网格单元背景颜色,javascript,extjs4,Javascript,Extjs4,我代码的一部分 xtype: 'grid', width: 500, store: store6, columns:[{ text:'Market', sortable: false, width:145, dataIndex: 'market }] 我尝试过使用侦听器(我认为我没有正确地使用侦听器),但由于每个单元格都没有id标记,我不知道单击在这里是否有效 用例 1.用户单击单元格 2.代码将单元格变为绿色 3.用户单击同一单元格 4.代码将单元格变为白色 每个单元格的颜色仅取决

我代码的一部分

xtype: 'grid',

width: 500,
store: store6,

columns:[{

text:'Market',

sortable: false,

width:145,
dataIndex: 'market
}]
我尝试过使用侦听器(我认为我没有正确地使用侦听器),但由于每个单元格都没有id标记,我不知道单击在这里是否有效

用例 1.用户单击单元格 2.代码将单元格变为绿色 3.用户单击同一单元格 4.代码将单元格变为白色 每个单元格的颜色仅取决于用户


这都是客户端开发,我还没有开始任何服务器端(PHP)开发。我在Stack上搜索了一段时间,还没有找到一个有效的解决方案。任何帮助或评论都会很有帮助。

我做了类似的事情,我们使用了custom

下面是代码示例:

statusRenderer: function (value, metaData, record, rowIndex, colIndex, store) {
        if (rowIndex == undefined) {
            return;
        }
        metaData.css = getCss(value);
        return formatValue(value);
    }
请注意,您可以在元数据中修改css属性-您可以设置单元格的颜色。例如,每次单击都会增加记录的一些内部计数器。然后根据此计数器在单元格上添加不同的css类


希望这有帮助

我也做过类似的事情,我们习惯了

下面是代码示例:

statusRenderer: function (value, metaData, record, rowIndex, colIndex, store) {
        if (rowIndex == undefined) {
            return;
        }
        metaData.css = getCss(value);
        return formatValue(value);
    }
请注意,您可以在元数据中修改css属性-您可以设置单元格的颜色。例如,每次单击都会增加记录的一些内部计数器。然后根据此计数器在单元格上添加不同的css类


希望这有帮助

我尝试了StatusReneDerrer,但什么也没发生,但我从下面的代码中得到了一些响应

fn:function(value, metaData, record, rowIndex, colIndex, store)
{
alert(metaData.id);
metaData.trattr = 'style="background-color: red;"';
alert(metaData.css);
return value;
}

问题是我实际上可以获得id。getCSS也有一些问题。除非有一个ExtJS类我无法在sencha.com上查找。我可以获得id,但没有办法更改CSS。

我尝试了StatusReneDerrer,但没有任何结果,但我从下面的代码中得到了一些响应

fn:function(value, metaData, record, rowIndex, colIndex, store)
{
alert(metaData.id);
metaData.trattr = 'style="background-color: red;"';
alert(metaData.css);
return value;
}
问题是我实际上可以得到id。getCSS也有一些问题。除非有我无法在sencha.com上查找的ExtJS类。我可以得到的ID只是罚款,但没有办法改变CSS

成功

fn:function(value, metaData, record, rowIndex, colIndex, store)
{
document.getElementById(metaData.id).style.background = "green";
return value;
}
我选择了DOM编程,而不是查看ExtJS,这是我真正希望看到的,但这完成了工作。我所要做的就是在绿色和白色之间切换

成功

fn:function(value, metaData, record, rowIndex, colIndex, store)
{
document.getElementById(metaData.id).style.background = "green";
return value;
}

我选择了DOM编程,而不是查看ExtJS,这是我真正希望看到的,但这完成了工作。我所要做的就是在绿色和白色之间切换

这正是我要找的。感谢InnerJL为我指明了正确的方向。我需要它为click工作。在白色和绿色之间交替。解决方案发布在下面

function(value, metaData, record, rowIndex, colIndex, store)
{
var test =  Ext.get(metaData.id).getStyle("background-color");
if(test == "green")
{
Ext.get(metaData.id).setStyle("background-color", "white");
}
else
{
Ext.get(metaData.id).setStyle("background-color", "green");
}
return value;
}

这正是我要找的。感谢InnerJL为我指明了正确的方向。我需要它为click工作。在白色和绿色之间交替。解决方案发布在下面

function(value, metaData, record, rowIndex, colIndex, store)
{
var test =  Ext.get(metaData.id).getStyle("background-color");
if(test == "green")
{
Ext.get(metaData.id).setStyle("background-color", "white");
}
else
{
Ext.get(metaData.id).setStyle("background-color", "green");
}
return value;
}

好的,我来试试。现在是进入元数据的好时机,因为我对元数据了解不多,但如果这解决了我的问题,我会让你知道。你需要先启动一个侦听器吗?好的,我来试一试。现在是进入元数据的好时机,因为我对元数据了解不多,但如果这解决了我的问题,我会告诉您。您是否需要先启动一个侦听器?