問題タブ [advanceddatagrid]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2258 参照

apache-flex - summaryObjectFunction から文字列を返すことができますか

FlexAdvancedDatGridでは、多くのグループ化を行っています。ほとんどの列は親と子で同じなので、MAX、MIN、または AVG ではなく、グループの最初の値を要約として表示したいと思います。

このコードは数値では機能しますが、テキスト値では機能しません (コメント行がないと NaN になります)。

XML:

OfferIDの仕事 正しく、そうでOfferDescriptionはありません。

0 投票する
4 に答える
13294 参照

apache-flex - FlexAdvancedDataGridでソートするにはどうすればよいですか-コールバックが呼び出されていません

データの顧客グループ化を使用するAdvancedDataGridがあります。すべてのグループが階層内の同じレベルにあるわけではなく、グループにはグループとメンバーの両方を含めることができます。ソートコールバックがありますが、最もリーフレベルのグループを除いて呼び出されていません。例については、以下のコードを参照してください。すべてのグループを展開し、「生年月日」の並べ替え列をクリックして、生年月日で逆並べ替えを取得します。(奇妙なことに、いくつかの計り知れない理由で、最初の昇順の並べ替えが機能します。)

グループメンバーと同じレベルでグループ化されたデータは呼び出されません。

これを修正するにはどうすればよいですか?

ありがとう。

0 投票する
2 に答える
1179 参照

apache-flex - 奇妙なItemRendererの動作

ItemRendererに本当に奇妙な問題があります。ViewStackを備えたmain.mxmlコンテナーがあります。ユーザーがログインすると、初期ビューにはAdvancedDataGrid(一部のデータと以下のItemRendererが含まれます)が含まれ、[削除]ボタンが表示されます。ユーザーがログインすると、このAdvancedDataGridはデータベースから自動的に更新されます。[削除]ボタンは、ユーザーのロールメンバーシップに基づいて有効または無効にする必要があります。

シナリオ1(管理者としてログイン):

  1. 管理者ユーザーがログインします-データグリッドビューがすぐに表示され、すべての行で[削除]ボタンが適切に有効になります
  2. ログアウト
  3. 非管理者ユーザーとしてログイン-データが更新され、1つを除くすべての行が引き続き有効になります。これは、1行目、2行目、または3行目である可能性があり、完全にランダムです。それは本当に奇妙です。。。

ブラウザを再起動し、シナリオ2に従います。。。

シナリオ2(非管理者としてログイン):

  • 管理者以外のユーザーがログインします-データグリッドビューがすぐに表示され、すべての行で[削除]ボタンが適切に無効になります
  • ログアウト
  • 管理者ユーザーとしてログイン-1つを除いて、すべての行が引き続き無効になっています。これは、1行目、2行目、または3行目である可能性があり、完全にランダムです。最初のシナリオのちょうど逆です。

興味深い事実-checkDeleteSecurityにブレークポイントを設定すると、最初のユーザーがログインし、DATAGRIDが最初に更新されたときにのみブレークポイントに到達します。ログアウトして次のユーザーがログインすると、データグリッドは更新されますが、checkDeleteSecurityブレークポイントがキャッチされることはありません。

0 投票する
2 に答える
2971 参照

apache-flex - Flex AdvancedDataGrid: MXML ItemRenderer がデフォルトのスタイルにデフォルト設定されていません

AdvancedDataGrid に styleFunction コールバックがあることは知っていますが、スタイルを変更したくありません。itemRenderer が、他のすべて (通常の列を含む) が使用するグローバル スタイルを取得するようにします。

私のインライン アイテム レンダラーはデフォルト スタイルを使用しますが、別の MXML クラスとして作成したものは使用しません (Canvas を拡張します)。

スタイルをアイテムレンダラーに伝播するためにジグルする必要があるハンドルはありますか?

ありがとう

0 投票する
3 に答える
6136 参照

apache-flex - Flex AdvancedDataGridItemRenderer backgroundColor/textColor がレンダリングされない

AdvancedDataGridItemRenderer を拡張する次のクラスがあります。

ご覧のとおり、backgroundColor は黒に設定され、textColor はコンストラクターで白に設定されます。列の 1 つに TestADGIR を使用する AdvancedDataGrid があります。しかし、グリッドが表示されると、その列は白い背景に黒いテキストでレンダリングされます。コンストラクターで設定されているものとは正反対です。誰かが私が間違っていることを理解するのを手伝ってもらえますか? ADG のコードは次のとおりです。

ありがとう!ショーン

0 投票する
2 に答える
4313 参照

apache-flex - Flex AdvancedDataGrid と Grouping で、2 番目の GroupingField が null の場合、最初の GroupingField の下にオブジェクトを表示するにはどうすればよいですか?

2 つの GroupingFields を持つ AdvancedDataGrid を使用しています。dataProvider には、これら 2 つのフィールド値を持つオブジェクトのリストがありますが、2 番目のフィールド値が null になる場合があります。読み込まれると、AdvancedDataGrid UI にはルート フォルダー (最初の GroupingField) といくつかの追加のサブフォルダー (2 番目の GroupingField) があります。これはすべて良いです。ただし、2 番目の GroupingField の値が null のオブジェクトは、ラベルのないサブフォルダーに配置されます。

null の 2 番目の GroupingField 値を持つオブジェクトを、ルート フォルダー (最初の GroupingField) から空白のサブフォルダーを引いたリーフ ノードとして表示する必要があります。

これをイメージする良い方法は、ファイル エクスプローラーです。これを行う良い方法はありますか?アクションスクリプトを使用してこのノードを展開した後、フォルダーアイコンを非表示にしますか?

0 投票する
3 に答える
5419 参照

apache-flex - HierarchicalData dataProviderが更新されたときにAdvancedDataGridが更新されないのはなぜですか?

HierarchicalData dataProviderを備えたAdvancedDataGrid(ADG)があります。

モデルにHierarchicalDataインスタンスを最初に設定すると、期待どおりに表示されます。

parentItemsは、ParentItemvalueObjectsのコレクションです。

ただし、子アイテムをある親から別の親に(ドラッグアンドドロップで)移動すると、次のコードを使用して更新が表示されません。

ただし、何らかの理由で、これは機能します。

ArrayCollectionのソースを更新する必要があるのはなぜですか?

0 投票する
2 に答える
6534 参照

apache-flex - データ変更後 (AS3)、AdvancedDataGrid のデータを更新しますか?

AdvancedDataGridコントロールを使用しています。その中で、1 つの親と 2 つの子を持つという点で、データを階層形式で表示しています。親にはチェックボックスがあり、チェックボックスを選択すると、子の既存のデータを削除して新しいデータに置き換える必要があります。

0 投票する
1 に答える
2627 参照

apache-flex - AdvancedDataGrid の dataProvider から階層カーソルを作成するにはどうすればよいですか?

私が書いた以前のアプリケーションでは、拡張されたクラスAdvancedDataGrid(ADG) がありました。次のコードが含まれていました。

この実装では、関数setOpenNodes()は正常に機能しました。まさに私が意図したことを実行し、数値を渡し、dataProviderそのレベル以下のすべてのノードを開きました。

現在、新しい ADG クラスを作成しており、この機能を再現したいと考えています。

dataProvider親コンポーネントで設定されます。

reportData別のファイルに設定されています:

ただし、実行時エラーが発生します。

dataProviderとしてキャストしてみましたICollectionViewICollectionViewasをキャストしてみましたIHierarchicalCollectionView。あらゆる種類のキャストを試しましたが、何も機能していないようです。以前の実装のように、この新しい実装でこれが機能しないのはなぜですか? 私は何をする必要がありますか?

*** アップデート:

これをデバッグし始めました。dataProvider がいつ設定されているかを確認するために、ADG クラスにオーバーライド セッターを追加しました。

このセッターと setOpenNodes() 関数にブレークポイントを追加しました。案の定、dataProvider は setOpenNodes() が呼び出される前に設定されており、それは HierarchicalData です。ただし、setOpenNodes() を実行すると、デバッガーは dataProvider が null ArrayCollection であると通知します。これが根本的な問題のようです。

0 投票する
1 に答える
987 参照

apache-flex - 2つのFlexAdvancedDataGridで列幅をバインド可能にするにはどうすればよいですか?

ここで私と一緒に耐えなさい。必要なことを達成するための奇妙な設定があります。基本的に、WebServiceによって返されたデータを表示するAdvancedDataGridがあります。データはXML形式です。

XMLをWebService結果ハンドラーでHierarchicalDataオブジェクトに変換します。AdvancedDataGridの列も動的に作成します。これは、ユーザー入力に応じて異なる列を表示するために使用されていたためです。ただし、AdvancedDataGridの下部に合計「行」も表示する必要があります。XMLListCollectionをGroupingCollectionに変換して、この方法で合計行を作成する方法がわからないため、実際にWebServiceで合計を計算し、これをXMLのノードとして返します。

この「合計」データを使用して、最初のADGのすぐ下にあるヘッダーのない2番目のAdvancedDataGridにデータを入力し、最初のADGの「最後の行」のように「表示」します。両方のADGは、同じBindable列の配列を使用します。

ただし、最初のADGで列のサイズが変更された場合、2番目のADGの列もサイズ変更する方法が見つかりません。私に何ができる?