私はこのデータグリッドでタブオーダーを使用しようとしていましたが、何が間違っているのか分かりません。誰でもそれを見つけることができますか?Flex 3 DataGridタブオーダー
<?xml version="1.0" encoding="utf-8"?>
<controls:MDataGrid xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:controls="com.iwobanas.controls.*"
xmlns:dgc="com.iwobanas.controls.dataGridClasses.*"
dataProvider="{locator.vendorInvoices}">
<mx:Script>
<![CDATA[
import com.model.PayablesLocator;
[Bindable] private var locator:PayablesLocator = PayablesLocator.getInstance();
]]>
</mx:Script>
<controls:columns>
<dgc:MDataGridColumn dataField="loadNumber"
headerText="Load"/>
<dgc:MDataGridColumn dataField="carrierName"
headerText="Carrier"/>
<mx:DataGridColumn dataField="vendorInvoiceNumber"
headerText="Vendor Invoice #"
rendererIsEditor="true"
editorDataField="vendorInvoiceNumber">
<mx:itemRenderer>
<mx:Component>
<mx:HBox width="100%" height="100%" horizontalAlign="center" verticalAlign="middle">
<mx:Script>
<![CDATA[
protected function invoiceNumberInput_changeHandler(event:Event):void {
data.vendorInvoiceNumber = invoiceNumberInput.text;
}
]]>
</mx:Script>
<mx:TextInput id="invoiceNumberInput"
text="{data.vendorInvoiceNumber}"
editable="true"
width="95%"
change="invoiceNumberInput_changeHandler(event)"/>
</mx:HBox>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
<mx:DataGridColumn dataField="vendorInvoiceDate"
headerText="Invoice Date"
rendererIsEditor="true"
editorDataField="vendorInvoiceDate">
<mx:itemRenderer>
<mx:Component>
<mx:HBox width="100%" height="100%" horizontalAlign="center" verticalAlign="middle">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.events.CalendarLayoutChangeEvent;
import mx.events.CloseEvent;
protected function invoiceDateChanged(event:CalendarLayoutChangeEvent):void {
data.vendorInvoiceDate = event.newDate;
}
]]>
</mx:Script>
<mx:DateField id="vendorInvoiceDateInput"
selectedDate="{data.vendorInvoiceDate}"
editable="true"
width="95%"
change="invoiceDateChanged(event)"/>
</mx:HBox>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
<mx:DataGridColumn dataField="isSelected"
headerText="Select"
rendererIsEditor="true"
editorDataField="isSelected">
<mx:itemRenderer>
<mx:Component>
<mx:HBox horizontalAlign="center" verticalAlign="middle">
<mx:Script>
<![CDATA[
import com.controller.PayablesController;
private var control:PayablesController = PayablesController.getInstance();
private function onCheckboxClick():void {
data.isSelected = selectionCheckBox.selected;
control.updateBatchSelections();
}
]]>
</mx:Script>
<mx:CheckBox id="selectionCheckBox"
selected="{data.isSelected}"
change="onCheckboxClick()"/>
</mx:HBox>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
</controls:columns>
私は行ごとに次のようにタブ順序を取得しようとしている:選択>ベンダー請求書>請求書の日付は、私は次のフィールドにタブにしようとすると、それはのURLにジャンプブラウザ(この場合はIE)。私はネット上で見つけたものをたくさん試しましたが、どれもうまくいかなかったようです。
ご協力いただければ幸いです。
--Charly
こんにちはチャーリーは、あなたが試したいくつかのことを一覧表示することができます(tabIndexには、その最初のものです私にとって心に浮かぶ)カスタムコンポーネントに関する質問を投稿するときにも、APIへのリンクを含めてください。私はあなたが使っていると信じているものを見つけましたが、検索する必要がなければ誰にとっても簡単ですhttp://reusable-fx.googlecode.com/svn/trunk/docs/com/iwobanas/controls/MDataGrid.html – shaunhusain
ああ、私はなぜ私がウォン '試したことのあるものがうまくいかないことがあります。 DataGridColumnと他のグリッド列クラスは、基本的に、グリッドに対して動的に作成する必要があるUIコンポーネントを記述するためのモデルオブジェクトです。そのため、これらのタグを使用して直接UIComponentを定義するのではなく、それらが必要な時にそれらを。したがって、おそらく、各インスタンスのtabIndexを適切に設定するカスタムのheaderRendererオブジェクトを作成することによってこれを処理する必要があります。 – shaunhusain