私はrss文字列を扱う必要があります。基本的に、グリッド内のデータを操作する必要があります。
データグリッドの変更ハンドラーに次の関数があります。これは、アイテムをクリックすると、選択したデータフィールド行が以下に示すようにラベルにバインドされることを意味します。
protected function dg_selectionChangeHandler(event:GridSelectionEvent):void
{
const eventGrid:Grid = event.currentTarget.grid;
var currentIndx:int = eventGrid.selectedIndex;
var currentDataItem:Object = eventGrid.selectedItem;
selIndex.text = String(currentIndx);
txtSource.text = String(currentDataItem.link);
txtSource.visible = false;
HttpGetUrl(txtSource.text);
}
それは私にとってはうまくいきます。グリッド内のアイテムを選択するたびに、その行の値を定義したラベルにバインドします。
しかし、データグリッドが初めて初期化されたときに値が入力されていないか、初めてデータグリッドが画面に表示されたときに、selectedindex = 0 のときにその行の値がラベルに入力されません。以下に示すように、コードも初めて初期化します。
protected function dg_creationCompleteHandler(event:FlexEvent):void
{
const eventGrid:Grid = event.currentTarget.grid;
var currentIndx:int = eventGrid.selectedIndex;
var currentDataItem:Object = eventGrid.selectedItem;
selIndex.text = String(currentIndx);
txtSource.text = String(eventGrid.selectedItem.link);
txtSource.visible = true;
}
データグリッドのコードは次のとおりです。
<s:DataGrid id="dgNews" x="10" y="70" width="300" height="623" click="dg_clickHandler(event)" color="#000000" visible="true" horizontalScrollPolicy="off"
variableRowHeight="true" selectionChange="dg_selectionChangeHandler(event)" creationComplete="dg_creationCompleteHandler(event)" selectedIndex="0">
<s:columns>
<s:ArrayList>
<s:GridColumn dataField="title" headerText="Title" width="300"/>
</s:ArrayList>
</s:columns>
</s:DataGrid>
デフォルトの selectedindex = 0 値を定義したラベルにバインドする方法を教えてもらえますか?