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. 可変列番号を持つSSISフラットファイル
- 3. 行番号を持つSQLite UPDATE値/オプション?
- 4. テーブル内のセルの行番号と列番号を見つける方法
- 5. NumberFormat FlexのDatagridの列
- 6. 最後に特定の番号を持つ文字列のgrep
- 7. メモ帳のステータスバーに行番号と列番号を表示
- 8. ユーザー入力番号を持つ3x3行列を作成するC#
- 9. 最高の番号を持つエコー文字列?
- 10. 複数のアイテムを持つDatagridの行
- 11. c#WPFのリッチテキストボックスの行番号と列番号
- 12. WPFToolkit DataGridのDateTime値を持つ列
- 13. 多数の行を持つDatagrid
- 14. 行番号と列番号で値を取得する
- 15. jaxb検証イベントロケータ - 検証エラーの行番号と列番号
- 16. Flex Datagridの配列を取り込む
- 17. SSRS行グループ+列グループ=行番号問題
- 18. 同じインデックス番号を持つように2つの配列をマージする
- 19. jqueryデータ型に行番号の列を追加する
- 20. Flex DataGridのキーボードナビゲーション
- 21. DataGridの異なる行のスタイルFLEX
- 22. Flex Bulder 3バージョン番号Pro/Not Identifier
- 23. ADDR2LINEは、1つの番号の行番号を報告しますか?
- 24. FlexズームDataGridビュー
- 25. Flex 3 DataGridタブオーダー
- 26. Flex Datagridイベント
- 27. FlexでオートスクロールDatagrid
- 28. 列インデックス番号
- 29. 特定の文字列を持つ列を見つけて列番号を返す
- 30. Flex Spark Datagrid固定列、水平スクロール