我的代码部分
xtype: 'grid',
width: 500,
store: store6,
columns:[{
text:'Market',
sortable: false,
width:145,
dataIndex: 'market
}]
我尝试过使用听众(我认为我没做错),我不知道点击是否会在这里工作,因为每个单元格都没有id标签。
使用案例 1.用户点击单元格 2.代码将单元格变为绿色 3.用户单击相同的单元格 4.代码将单元格变为白色 每个单元格的颜色完全取决于用户。
这是我尚未启动任何服务器端(PHP)开发的所有客户端开发。我在Stack上搜索了一下,但我找不到一个有效的解决方案。任何帮助或评论都会有所帮助。
答案 0 :(得分:2)
这正是我正在寻找的。感谢InnerJL指导我正确的方向。我需要它才能点击。在白色和绿色之间交替。解决方案发布在
下面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;
}
答案 1 :(得分:1)
我做了类似的事情,我们使用了自定义column renderer。
这里是代码:
statusRenderer: function (value, metaData, record, rowIndex, colIndex, store) {
if (rowIndex == undefined) {
return;
}
metaData.css = getCss(value);
return formatValue(value);
}
请注意,您可以修改元数据中的css属性 - 您可以设置单元格的颜色。例如,在每次单击时,您都会增加记录的内部计数器。然后根据此计数器的渲染器在单元格上添加不同的css类。
希望这有帮助!
答案 2 :(得分:0)
我已经尝试了statusRenederer但没有任何反应,但我从下面的代码中得到了一些回复。
fn:function(value, metaData, record, rowIndex, colIndex, store)
{
alert(metaData.id);
metaData.trattr = 'style="background-color: red;"';
alert(metaData.css);
return value;
}
问题是我实际上可以获得身份证明。 getCSS也有一些问题。除非有一个我无法在sencha.com上查找的ExtJS类。我可以很好地获取ID但无法更改CSS。
答案 3 :(得分:0)
SUCCESS !!!!
fn:function(value, metaData, record, rowIndex, colIndex, store)
{
document.getElementById(metaData.id).style.background = "green";
return value;
}
我参加了DOM编程,而不是通过ExtJS查看,这是我真正喜欢的,但这可以完成工作。我所要做的就是在绿色和白色之间切换。