1
如果數據提供者包含2個具有相同值({「A」,「A」,「B」})的數據網格和數據提供者,當您將鼠標懸停在包含「A」的任何行上時, 「也將突出顯示。Flex DataGrid/DataProvider錯誤?
其他人注意到這個問題?
如果數據提供者包含2個具有相同值({「A」,「A」,「B」})的數據網格和數據提供者,當您將鼠標懸停在包含「A」的任何行上時, 「也將突出顯示。Flex DataGrid/DataProvider錯誤?
其他人注意到這個問題?
Whydna你在正確的軌道上與你分享的帖子http://jonathanbranam.net/solutions/datagrid-highlights-wrong-row。這是令人困惑的flash/flex的原因是,datagrid使用相等性來確定它何時找到匹配的行。這可以通過修改框架來使用嚴格平等(===)來解決,但現在更好的答案是按照該帖子建議並將您的值包裝在對象中,以避免此問題的風險。如果您添加了幾個相同的對象,您也會看到相同的行爲,如鏈接中的示例所示。這是一個可行的例子,以確保你有你需要的東西。
<mx:DataGrid id="dataGrid" dataProvider="{gridData}" creationComplete="init()">
<mx:columns>
<mx:DataGridColumn dataField="title" headerText="Title" />
</mx:columns>
</mx:DataGrid>
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
[Bindable] private var gridData:ArrayCollection;
protected function init():void
{
gridData = new ArrayCollection();
for(var i:uint = 0; i < 10; i++)
{
gridData.addItem({title: "This is an item"});
}
}
]]>
</mx:Script>
我從來沒有見過這樣的事情。你的代碼是什麼樣的? – wajiw 2010-11-23 18:14:46