問題タブ [dgrid]
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.
dojo - デフォルトでロード中に canEdit が dgrid で機能しない
編集時に次のUI要件を持つツリーグリッドがあります。
- 特定の行のコスト列は編集可能です。
- 編集可能な行は、イベントに基づいてではなく、デフォルトで常に編集できるようにする必要があります。
- 各行には最小最大範囲があります。検証が必要な値をユーザーが入力したとき。
dgrid 用に定義した列構造を次に示します。
ツリーと編集は正常に機能していますが、解決すべき問題はほとんどありません。
- editor に editOn が指定されていない場合、列はデフォルトで編集可能になります。ただし、canEdit は、editOn パラメータで spl イベントを提供した場合にのみ呼び出されます。デフォルトのロード中でも canEdit を呼び出す方法はありますか。
- 行ごとに NumberTextBox の範囲制約を動的に設定する必要があります。行の値に基づいて制約を設定する簡単な方法はありますか?
ご助力ありがとうございます
php - Zend Framework 2 アプリケーションのフォーム コレクションで dgrid を使用する
私たちの新しいプロジェクトでは、Zend Framework 2 と Dojo 1.8 の使用を開始しました。ZF2 には、完全に書き直されたフォーム モジュールがあり、1 対多の関係のための新しい CollectionElement が特徴です。私が見つけた UI に関しては、その dgrid が (エディター列プラグインを使用して) そのような関係に最適であるため、FormCollection、FormRow、および FormElement ビュー ヘルパーの拡張を開始して、目的の dgrid をレンダリングできるようにしました。dgrid ウィジェットの行ごとの入力名を設定できないことに気付くまでは、すべて問題ありませんでした。
私はZF2 ドキュメントのフォーム コレクションの保管から始めました。コレクションの入力要素には、次のような配列のような名前があることがわかります
一方、dgrid の構成は列ベースであるため、次のような列定義を使用できます。
この列定義は、すべての行に同じウィジェット名を設定することを定義しますが、これは ZF2 コレクション データ形式の要件では機能しません。
私も試したのは、次のように列に名前を付けることです。
これは機能しますが、目的の形式を許可しません
おそらく、次のようなデータを投稿する方法があります。
後で変換しますが、解決策は正しくありません。これに加えて、再利用可能なコードを作成しようとしており、フォームごとのデータ変更を避けたいと考えています。
私はデータ変換のための onSubmit/onClick イベント処理を回避するために非常に努力しているので、2 つの可能な解決策があります。コレクション
残念ながら、これらの解決策のいずれかを実行する方法についてのアイデアが尽きてしまいました。
これは私の現在の質問と多少関連しているので、補足質問としてここに置きます: Dojo との 1 対多のフォーム インターフェイスに、この UI ソリューション以外に何を使用していますか?
grid - grid.selection を繰り返し処理すると失われます
grid.selection パラメータ (widget dgrid**) を反復処理すると、grid.selection 内の最初の値が得られ、それが null になり、グリッド内の選択も失われます。どうすればこれを回避できますか? この動作を回避できるパラメーターはありますか?
**http://www.sitepen.com/blog/2011/10/26/introducing-the-next-grid-dgrid/
typescript - TypeScript から dgrid を参照するための構文をインポートする
私は TypeScript と Dojo を並行して学習していますが、これにより、AMD に関する私の限られた理解が明らかになりました。import ステートメントをサードパーティの「dgrid/Grid」AMD モジュール、dgrid.d.ts スタブ宣言、および消費クラスに結び付ける方法がわかりません。2日間の無駄な努力の後、次のことを実行するための手段(ハッキーまたはAMDのベストプラクティス)を探しています:
MyModule.ts
dgrid のスタブ宣言ファイルは次のとおりです。
dgrid.d.ts (以下の Update 1 と同期するように編集)
使用する TypeScript クラスで次の参照を試しましたが、Visual Studio は「dgrid/Grid」リテラルに赤で下線を引いています。これは、TS コンパイラーが default.htm ファイル内の従来の Dojo dojoConfig、baseUrl、および dgrid パッケージ宣言を認識していないと思われるためです。
更新 1 投稿以来、公式の TypeScript マニュアルの第 10 章を読みました。以前は、module MyType{} または module "external/ thirdparty" {} として宣言されたモジュールの重要性を認識できていませんでした。外部モジュールのアンビエント宣言はリテラルである必要があります。
バックグラウンド:
- ajax.googleapis.com から参照されている Dojo 1.8.0 を使用しています
- dgrid JavaScript は /js/dgrid でローカルにホストされます
- dgrid http://dojofoundation.org/packages/dgrid/tutorials/hello_dgrid http://dojofoundation.org/packages/dgrid/tutorials/hello_dgridの従来の AMD の require() 読み込みを示す SitePen dgrid チュートリアル ページを厳密にフォローしようとしてい ます。 /demo/simple.html
Require ステートメント:
dojo - dgrid ページネーションの例
dgrid で dgrid のページネーション拡張機能を使用する例を教えてください。これは、参照リンクまたは入力した簡単な例です。コードで定義し、OnDemandGrid で使用して、カスタム グリッドの宣言 mixin に追加しました。ページ ナビゲーションの矢印が表示され、ページ サイズ設定メニューが表示されますが、rowsPerPage: 3 を指定しても何も起こりません。まだ 7 つのサンプル レコードが表示されます。
dgrid の JsonRest およびメモリ ストアをラップする変更されたキャッシュ (データ オブジェクト ストア) を使用しています。
javascript - dojodgrid複数セル編集
dgridの複数のセルを同時に編集することは可能ですか?
セルをダブル/シングルクリックして更新することで、一度に1つのセルを編集できることを知っています。そして、onBlur
そのセルので、編集されたデータがそのセルに対して更新されます。
しかし、私の要件は次のとおりです。
- 各行の編集リンク/編集ボタンをクリックすると、その行の編集可能なすべてのセルのエディターが表示されます。
- セルを更新/編集し、
- 次に、同じ行の保存ボタン(編集ボタンの横にあります)をクリックします。
- [保存]リンク/アイコンをクリックすると、編集したセルの値がストア/サーバーに保存されます。
以下は、グリッドの列の一部です。
ところで、私はdojo.store.JsonRestをストアとして使用しています。
グリッド宣言
現在、私はこのようなことを試みていますが、機能していません...
javascript - dojo editable-tree-dgrid : dojo.store.JsonRest でサポートされている新しい行を作成または生成しますか?
Tree と Editable の両方である dojo-dgrid を試しています。
その中で、次のような要件があります。
親行の列(通常は最後の列)にボタン/アイコンを追加しています。そのアイコンをクリックすると
、新しい子行がこの親行の下に生成/作成され (store.newItem() のように)
、この子行が編集可能になります (11 列あり、そのうち 6 列が編集可能で、そのうち 3 列は編集可能です)。 digit.form.Select と他の 3 つはテキスト フィールドです)。
編集可能な領域を埋めたら (最後の列に保存アイコンがあります)、保存アイコンをクリックすると、この新しい子行が保存されます。
ところで、私は dojo.store.JsonRest を store として使用しています。
グリッド宣言は次のとおりです。
この同じグリッドの複数のセル編集に関連する別の質問がここに投稿されました。
JsonRest では、add、put、delete の種類のメソッドしか確認できませんでした。JsonRest をストアとして使用してこの要件を達成する方法を考えています。
ありがとう。
dojo - ブラウザーのサイズを変更しないと、dojo dgrid の見出しが表示されないのはなぜですか?
ブラウザ ウィンドウのサイズを変更しない限り、見出しが表示されない dgrid があります。ブラウザ ウィンドウのサイズを変更するとすぐに、見出しが表示されます。ブラウザのサイズを変更せずに見出しを表示するにはどうすればよいですか?
startup() を正しく呼び出していませんか? ブラウザーのサイズが変更されたと dgrid に認識させるために起動できるイベントはありますか?
rest - 非 REST ストアを持つ Dojo の新しい Dgrid
Dojo の dgrid を使用して、現在取り組んでいるプロジェクトの YUI データ グリッドを置き換えたいと考えています。現在、REST ベースの配置ではなく、クエリ文字列データを使用して YUI ウィジェットにデータをフィードしています。新しい REST ベースのバックエンドを実装するのではなく、引き続きクエリ文字列を使用して情報を伝達したいと考えていますが、見つけたすべての dgrid 情報は REST の使用を示しているようです。一見減価償却された QueryStore のようなものを使用することは可能ですか? 前回、REST ベースのデータ・ストアを使用せずに Dojo で何かを実装しようとしたとき、うまくいきませんでした。特に、遅延ロードを処理しようとしたときはそうでした。