DataGridコンポーネントを拡張して、スプレッドシートに表示されているような行番号の(読み取り専用の)列を作成します。私はこの記事http://www.cflex.net/showFileDetails.cfm?ObjectID=735に出くわしましたが、配列にインデックスを付けることができるように、各行に固有のデータに依存しています。データが一意でない場合(空のグリッドの場合のように)、動作しません。私はそれをどのように実装できますか?行番号の列を持つFlex DataGrid
2
A
答えて
-1
です:
RendererRowIndexPlusOne.as
package
{
import mx.controls.Label;
import mx.utils.StringUtil;
import mx.utils.ObjectUtil;
public class RendererRowIndexPlusOne extends Label
{
public override function set data(item:Object):void {
super.data = item;
trace('listData.label ' + listData.label);
trace('listData.rowIndex ' + listData.rowIndex);
trace('listData.columnIndex ' + listData.columnIndex);
trace('listData.owner ' + listData.owner);
text = String(listData.rowIndex + 1);
}
}
}
0
dataProviderに固有の列またはプロパティがあることを確認してから、その列またはプロパティを表示しないでください。 キーは以下程度RowNumberRenderer.as
package com.domain
{
import mx.collections.IList;
import mx.controls.Label;
import mx.controls.listClasses.ListBase;
public class RowNumberRenderer extends Label
{
public function RowNumberRenderer()
{
super();
}
override public function set data(value:Object):void
{
super.data = value;
this.text = String(IList(ListBase(listData.owner).dataProvider).getItemIndex(data) + 1);
}
}
}
-1
方法を、私はカスタムのitemRendererを実装することにより、これを行うことができたのdataProvider
2
これが私の仕事:
<mx:Label xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
import mx.controls.AdvancedDataGrid;
private var handleDataChangedEnabled:Boolean = false;
override public function set data(value:Object):void {
super.data = value;
if (!handleDataChangedEnabled) {
addEventListener("dataChange", handleDataChanged);
}
}
public function handleDataChanged(event:Event):void {
this.text = String(listData.rowIndex + (listData.owner as AdvancedDataGrid).verticalScrollPosition + 1);
}
]]>
</mx:Script>
もちろん、AdvancedDataGridをDataGridに変更する必要があります。
乾杯。
0
はちょうどあなたのitemRendererとして、このクラスを使用します。 RowNumColumnRenderer.as
package
{
import mx.collections.IList;
import mx.controls.AdvancedDataGrid;
import mx.controls.Label;
import mx.controls.listClasses.ListBase;
public class RowNumColumnRenderer extends Label
{
override public function set data(value:Object):void
{
super.data = value;
if (listData != null)
this.text = (AdvancedDataGrid(listData.owner).itemRendererToIndex(this) + 1).toString();
}
}
}
関連する問題
- 1. WPF Datagrid行番号
- 2. 行番号を持つSQLite UPDATE値/オプション?
- 3. 可変列番号を持つSSISフラットファイル
- 4. NumberFormat FlexのDatagridの列
- 5. 行ごとに異なる列番号を持つデータテーブル
- 6. どのようにセンターWPFのDatagrid行ヘッダーに行番号を整列
- 7. データベース内のシーケンス番号を持つ2番目の列
- 8. 不正な行番号を持つ2つのファイルのPython difflib
- 9. Flex DataGridのキーボードナビゲーション
- 10. Flex Datagridの配列を取り込む
- 11. テーブル内のセルの行番号と列番号を見つける方法
- 12. DataGridの異なる行のスタイルFLEX
- 13. 複数のアイテムを持つDatagridの行
- 14. 先行ゼロを持つ特定の番号のVBAを検索
- 15. 多数の行を持つDatagrid
- 16. WPFToolkit DataGridのDateTime値を持つ列
- 17. マクロ - 値の列を含むセルの行番号番号 "コード:"
- 18. FlexでオートスクロールDatagrid
- 19. Flex Datagridイベント
- 20. Flex 3 DataGridタブオーダー
- 21. FlexズームDataGridビュー
- 22. 前のシリアル番号を持つ配列のメンバ
- 23. jsプロパティ名なしの番号を持つオブジェクトの配列
- 24. 最後に特定の番号を持つ文字列のgrep
- 25. 複数の列を持つMySQLカーソルベースのページ番号
- 26. Datagrid(flex)内のリンク
- 27. Flex DataGrid/DataProviderのバグ?
- 28. メモ帳のステータスバーに行番号と列番号を表示
- 29. グループメモリを持つ各グループのMySQL行番号
- 30. 最高の番号を持つエコー文字列?