dataprovider에 동일한 값 ({ "A", "A", "B"})이 2 포함되어있는 경우, "A"를 포함하는 모든 행 위로 마우스를 가져 가면 "A "강조 표시됩니다.플렉스 DataGrid/DataProvider 버그?
누구든지이 문제를 알고 계십니까?
dataprovider에 동일한 값 ({ "A", "A", "B"})이 2 포함되어있는 경우, "A"를 포함하는 모든 행 위로 마우스를 가져 가면 "A "강조 표시됩니다.플렉스 DataGrid/DataProvider 버그?
누구든지이 문제를 알고 계십니까?
Whydna 공유 한 게시물이 옳은 트랙 http://jonathanbranam.net/solutions/datagrid-highlights-wrong-row입니다. 이것이 플래시/플렉스를 혼란스럽게 만드는 이유는 데이터 그 리드가 평등을 사용하여 행에 대한 일치를 발견했을 때를 판단하기 때문입니다. 이것은 엄격한 평등성 (===)을 사용하도록 프레임 워크를 패치함으로써 해결할 수 있지만 더 좋은 대답은이 게시물이 제안하고이 문제의 위험이 없도록 객체에 값을 래핑 할 때 수행하는 것입니다. 링크의 예와 같이 여러 개의 동일한 객체를 추가 한 경우에도 동일한 동작이 나타납니다. 여기에 필요한 것을 가지고 있는지 확인하기위한 실례가 있습니다.
<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
ArrayCollection에 바인드 된 단순한 데이터 격자 객체. 그런 다음 ArrayCollection에 중복 문자열을 추가합니다. –
http://jonathanbranam.net/solutions/datagrid-highlights-wrong-row –