問題タブ [extjs-grid]
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.
javascript - ExtJS (および Sencha アーキテクト) の GridPanel にネストされたオブジェクトを表示する方法は?
次のような Offering オブジェクトの着信配列があります。
オファリングは、製品×価格の数量です。
これらのオファリングを GridPanel に表示するだけでなく、ネストされた製品情報もそれらの行に含めたいと考えています。これが私が以前にやっていた方法です:
そして、これはうまくいきました。その後、(ExtJS 4.2.1 から ExtJS 5.1.1 へのアップグレードと Sencha Architect の使用を含む) 途中で壊れてしまいました。
問題 1: Sencha Architect は、「.」について不平を言って、提供モデルで「product.description」のエントリを作成することを妨げます。キャラクター。ただし、「whateveryouwant」として作成する場合は、モデル フィールドに移動して、そこで「product.description」に名前を変更できます。
問題 2: "." を回避した後 アプリケーションを発行して実行すると、「product.description」列のセルが空白になります。
問題 3: JavaScript コンソールでエラーが発生しません。受信データは正常に見えます。
このネストされたデータを表示するにはどうすればよいですか?
javascript - ExtJs 5.1: 実行時にスーパー クラスを変更する
ExtJs Grid パネルを拡張する次の 2 つのクラスがあります。
- ReadonlyDataGrid - 名前が示すように、基本的な編集不可能な ExtJs グリッド
- EditableDataGrid - セルと行の編集プラグインを備えた ExtJs グリッド
ここで、開発者がグリッド JSON 構成で設定したプロパティに基づいて、上記の 2 つのクラスのいずれかを拡張する新しいクラスを提供したいと考えています。
例:
ジャワ:
JS:
現在、これを処理するには、2 つの別個のクラス ファイルを作成する必要があります。
クラス 1:
クラス 2:
- これらの 2 つのクラスを 1 つにマージするにはどうすればよいですか?
- 上記のように、ユーザー構成に基づいて拡張プロパティを変更したり、正しいクラスを拡張したりするにはどうすればよいですか?
- デザイン的にはどちらが良いですか?クラスが 1 つあり、実行時にスーパークラスを変更するか、2 つのクラスを維持しますが、冗長/同じコードを使用しますか?
javascript - Extjs グリッドのヘッダーの下にコンポーネントを追加します
ExtJs5 に 3 列のグリッドがあります。ヘッダーの下でグリッドの行を開始する前に、テキストフィールドのようなコンポーネントを追加したいと考えています。実際には、テキストフィールドの値に基づいてデータをフィルタリングしたいと考えています。
注 - ヘッダーにテキストフィールドを追加したくありません。グリッドのヘッダーの下に欲しい。
ここにグリッドコーディングがあります -
ここに画像があります-上記のコードの結果-
テキストボックスが必要な場所にマークを付けました-
tbar、bbar、dockedItemsなどを使用するなど、この問題のいくつかの解決策を得ましたが、希望どおりに機能しませんでした。
javascript - オブジェクトエラーによるEXTJSグリッドのグループ化
グループ化機能を備えたグリッドを実装しようとしています。これは私のモデルです:
モデル
AJAX プロキシ リクエストからストアにデータを入力します。これは私のJSONです:
私の 'sign' フィールドが 'object' であることは理解できます。私の問題は、「名前」でグループ化すると正常に機能し、一部のグループを折りたたむと、選択したグループだけが折りたたまれることです。ただし、「記号」でグループ化すると、グループは整形式で表示されますが、特定のグループを折りたたむと、すべてのグループが折りたたまれ、以前のテストとの唯一の違いはフィールド タイプである「名前」です。文字列と「記号」はオブジェクトです...だから、これがバグかどうかはよくわかりません。私は4.2バージョンを使用しています。
これは、私の問題をテストできるフィドルです: https://fiddle.sencha.com/#fiddle/vt
ここでは、「勝つ確率」でグループ化し、1 つのグループを折りたたむことができます。これは正常に機能しますが、すべて削除すると
「データ」配列から同じことを行うと、すべてのグループが 1 つに折りたたまれていることがわかります。これを修正するにはどうすればよいですか?toString()
ストアまたは JSON でこれを使用したくありません。
オブジェクト属性でグループ化するにはどうすればよいですか?
extjs-grid - Control+F (検索機能) が Extjs グリッドで正しく機能しない
Control+F (検索機能) が Extjs 6.0.1 で正しく機能しません。50 個のレコードを持つ extjs グリッドで検索機能を実行すると、指定された検索の結果が表示されます。しかし、レコード数が 50 を超えるグリッドをリロードすると、control+F で正しい結果が得られません。他のレコードも検索キーワードに一致しましたが、最初の 50 件のレコードのみを検索結果として表示します。Extjs kitchenSink のデモ例で同じことを試しましたが、期待どおりの出力が得られませんでした。これについては参照フィドルを作成しました - https://fiddle.sencha.com/#fiddle/145s
また、同じキーワードに対して Control+F 機能を使用すると、ブラウザによって異なる結果が表示されることにも気付きました。[添付の参照スクリーンショット][ ] 2
extjs - 破棄後に再度追加された動的グリッド列
initComponent()
を使用して ExtJS グリッドに列を追加しようとしていますthis.columns.push()
。
これは正常に機能していますが、ビューを破棄して再度作成すると、列が複製されます。ExtJS は以前のインスタンスの状態を保持しているようです。列配列をリセットしようとしましdestroy()
たが、この奇妙な動作を排除できません。
コードについては、このSencha Fiddleを参照してください。