フレックスのデータグリッドのヘッダーにtextinputボックスを配置します。その値は、そのperticularカラムに存在するデータまたは値の数に応じて動的に変更されます。 助けてください、私が助けてくれる画像を投稿しています。 ありがとうございます。 Fex- Datagrid-カスタムヘッダー
答えて
Spark DataGridを使用することができます。その場合、カスタムのheaderRendererを作成するだけです。簡単にするため、デフォルトのheaderRendererから始めます。 Flex SDKのソースでは、クラスspark.skins.spark.DefaultGridHeaderRenderer
を探してください。このファイルをプロジェクトにコピーし、適切に名前を変更します。
このクラスの内部では、コンポーネントlabelDisplayGroup
とsortIndicatorGroup
(下部にあります)が見つかります。彼らはHGroupの中にいるので、単純に間にカウンタコンポーネントを追加することができます。
<!-- I removed the original comments for brevity -->
<s:HGroup left="7" right="7" top="5" bottom="5" gap="2" verticalAlign="middle">
<s:Group id="labelDisplayGroup" width="100%" />
<!-- our counter component -->
<s:Label id="numRowsDisplay" />
<s:Group id="sortIndicatorGroup" includeInLayout="false" />
</s:HGroup>
これまでのビジュアルコンポーネントでは、今度はtext
プロパティを適切に更新する必要があります。スクリプトブロックに次のスニペットを追加します。
private var dp:IList;
override public function set owner(value:DisplayObjectContainer):void {
if (dp) dp.removeEventListener(CollectionEvent.COLLECTION_CHANGE, updateNumRows);
if (super.owner) super.owner.removeEventListener(PropertyChangeEvent.PROPERTY_CHANGE, onPropertyChange);
super.owner = value;
dp = value ? DataGrid(value).dataProvider : null;
updateNumRows();
if (dp) dp.addEventListener(CollectionEvent.COLLECTION_CHANGE, updateNumRows);
if (value) value.addEventListener(PropertyChangeEvent.PROPERTY_CHANGE, onPropertyChange);
}
private function onPropertyChange(event:PropertyChangeEvent):void {
if (event.property == 'dataProvider') {
dp = event.newValue as IList;
updateNumRows();
}
}
private function updateNumRows(event:CollectionEvent=null):void {
numRowsDisplay.text = (dp ? dp.length : 0) + "";
}
ここではどうなりますか?レンダラーのowner
プロパティは、このレンダラーを保持するデータコンポーネントを参照します。この場合はDataGridです。オーナーがレンダラーに割り当てられると、dataProvider
にアクセスし、そのlength
を使用してカウンタコンポーネントを更新します。
だから、そのリスナーは何ですか?あなたが予見したいかもしれない2つのケースがあります。
- データプロバイダのアイテムの数が変更されたため、データプロバイダでCollectionChangeイベントをリッスンしています。
- 全体のdataProviderを変更または無効にされています。このために、私たちは、DataGrid上のPropertyChangeEventsをリッスンし、カウンタを更新するのdataProvider 'プロパティは
フレックスビルダー3に取り組んでいます。この回答はフレックスビルダー3に当てはまります。 –
はい、Flex Builder 3に付属していないFlex 4.5 SDKを使用する必要があります。手動で追加する必要があります。 – RIAstar
- 1. soap4rカスタムヘッダー
- 2. カスタムヘッダーとフッター
- 3. マルチテナントアプリケーションのカスタムヘッダー
- 4. Amazon SNS java - カスタムヘッダー?
- 5. AngularJS $リソースのカスタムヘッダー
- 6. Amazon S3のカスタムヘッダー
- 7. MSXML2.ServerXMLHTTPのカスタムヘッダー
- 8. カスタムヘッダー付きRubyのHTTP.post_form
- 9. タブ付きのAndroidカスタムヘッダー
- 10. 先行入力のBloodhoundカスタムヘッダー
- 11. htmlページのカスタムヘッダーとフッター
- 12. opencartのカテゴリーのカスタムヘッダー画像
- 13. Wordpressのカスタムヘッダーの問題
- 14. HttpWebRequestでカスタムヘッダーを追加する
- 15. htmlフォームによるカスタムヘッダーの投稿
- 16. 電子メールスレッド内のカスタムヘッダーの永続性
- 17. WCFでカスタムヘッダーを追加しますか?
- 18. カスタムメンバーシッププロバイダにカスタムヘッダーを追加する
- 19. HTML5ビデオリクエストを使用したカスタムヘッダー
- 20. 春の統合 - http発信ゲートウェイのカスタムヘッダー
- 21. XMLHttpRequests、POSTデータのカスタムヘッダーと確認
- 22. Excelのカスタムヘッダーを追加する
- 23. PHPでカスタムヘッダーを設定する方法
- 24. Alamofireカスタムヘッダーが機能しない
- 25. カスタムヘッダーのjsessionidの処理(Tomcat 6)
- 26. DataGridの拡張/ DataGridヘッダーの変更
- 27. SilverLight Datagrid
- 28. DataGrid RoutedEvent
- 29. DataGridトラップエラーエラー
- 30. DataGridページング
スパークやヘイロー/ MXを変更した場合にのみ? – RIAstar