質問

私はXMLListですから、DataGrid内のアイテムのリストを表示しようとしています。

<Series no="1">
    <file>
        <filenum>1</epnum>
        <prodnum>4V01</prodnum>
        <title>Series #1 - File #1</title>
    </file>
    <file>
        <filenum>2</epnum>
        <prodnum>4V02</prodnum>
        <title>Series #1 - File #2</title>
    </file>
</Series>
<Series no="2">
    <file>
        <filenum>1</epnum>
        <prodnum>4V01</prodnum>
        <title>Series #2 - File #1</title>
    </file>
    <file>
        <filenum>2</epnum>
        <prodnum>4V02</prodnum>
        <title>Series #2 - File #2</title>
    </file>
</Series>

私の現在のコードは私がのXMLListにすべてのシリーズを取得することができますし、私は私がのようなものを行うことができますnesteddatagridクラスを持っています。

<classes:NestedDataGrid width="100%" height="100%" id="gridFiles" dataProvider="{filesList}" >
<classes:columns>
<mx:DataGridColumn headerText="Season" dataField="@no" width="60"/>
<mx:DataGridColumn headerText="Episode" dataField="file.filenum" width="60"/>
<mx:DataGridColumn headerText="Title" dataField="file.title"/>
</classes:columns>
</classes:NestedDataGrid>

しかし、このディスプレイ二列とデータグリッド、最初の行は、直列の列に1があり、その後、2つのファイルは、同じ行の2番目のセルに詰め込みました。第二行は同じであるが、シリーズ列の数2及び#2のファイルがその隣のセルに詰め込んだ2つのシリーズを持っています。

私が代わりにSeries.fileを使用してファイルを引っ張ることができ、ネストされたデータクラスを使用していないと、すべてのファイル4が正しくリストする場合、しかし、私はそれぞれのシリーズ番号を得ることはありません...

役に立ちましたか?

解決

は、XMLの現在の構成によれば、2つの列のグリッドでそれを表現するために簡単です - 最初の列は、系列番号であり、第2列は、表示ファイルの詳細別の2または3列データグリッドです。あなたが構造を変更したくない場合は、次のコードでは、何が必要です。 dataFieldプロパティが設定されていないので、あなたはシリーズ番号に基づいて、グリッドをソートするためのsortCompareFunctionを指定していることに注意してください - 。ソートにしようとしているときに、それ以外の場合は、例外がスローされることがあります。

<classes:NestedDataGrid width="100%" height="100%" id="gridFiles" 
  dataProvider="{filesList.Series.file}" >
  <classes:columns><!-- classes copy pasted from OP's code. Whats that? -->
    <mx:DataGridColumn headerText="Season" labelFunction="getSeries" width="60"/>
    <mx:DataGridColumn headerText="Episode" dataField="filenum" width="60"/>
    <mx:DataGridColumn headerText="Title" dataField="title"/>
  </classes:columns>
</classes:NestedDataGrid>
private function getSeries(item:Object, col:DataGridColumn):String
{
  return XML(item).parent().@no;
}
<時間>

UPDATE:

<mx:DataGrid width="100%" height="100%" id="gridFiles" > 
  <mx:columns>
    <mx:DataGridColumn headerText="Season" labelFunction="getSeries" width="60"/>
    <mx:DataGridColumn headerText="Episode" dataField="epnum" width="60"/>
    <mx:DataGridColumn headerText="Title" dataField="title"/>
  </mx:columns>
</mx:DataGrid>

gridFiles.dataProvider = XML(event.result).descendants('episode');
//use the same getSeries function as above
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top