2013-03-08 80 views
1

我有两个不同的网格面板,并且在我的代码中,每当Grid1中的一个单元格的值发生更改时,我希望能够更改Grid2中某些单元格的值, 从Grid1中更改第二个网格的css。如何以编程方式更改网格面板的单元格的网格

下面让我更改CSS在GRID2一整行,但我需要能够改变的CSS GRID2行的单元格:2,第3列

var Grid2Store= Ext.data.StoreManager.get("MainComparisonStore"); 
Grid2.getView().addRowCls(Grid2Store.getAt(2), 'orange-bar'); 

回答

1

得到保持该元素,你可以使用cellElement.addCls('orange-bar');。请参阅Ext.dom.Element.addCls()文档。我为你们提供了一个jsFiddle的例子。只需点击网格工具栏中的“测试”按钮即可。

这是做这项工作的代码。它是硬编码为一个类添加到第1列,第1行

var grid = Ext.getCmp('myGrid'); 
var column = grid.columns[1]; 
var record = grid.store.getAt(1); 
var cell = grid.getView().getCell(record, column); 
cell.addCls('orange-bar'); 

Here (Sencha Forum)是如何获得的细胞一些讨论。这是我用来整理我的例子。你可以很容易地看到你如何能像getCell(rowIndex,columnIndex)一样帮助你。

+0

谢谢你的提示,但是我不能得到它的工作,因为我不知道如何获得元素。至于链接,在您提到的所有链接中,网格可以通过“渲染器”或网格内部的其他事件进行访问。但是,我的需求有所不同。想想看,如果在我的应用程序中,我需要获取网格并更改特定单元格的CSS,那我该怎么做?提前致谢。 – 2013-03-08 17:58:55

+0

我需要类似这样的东西:var grid = Ext.getCmp('idGrid2'); grid.getView()。getCell(rowInx,columnIndx).addCls('orange-bar'); - 这是不正确的,但只是想法累积,任何帮助将不胜感激 – 2013-03-08 18:15:01

+0

谢谢你它像一个魅力工作。 – 2013-03-11 17:26:55