問題タブ [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.
javascript - Dojo、dgrid define が定義されていません
私は道場とdgridが初めてです。サイトのチュートリアルに従っていましたが、2 つのエラーがあります
Uncaught ReferenceError: define is not defined dojo.js:1
Uncaught ReferenceError: require is not defined index.html:10
http://dojofoundation.org/packages/dgrid/tutorials/hello_dgrid/からコードをコピーし、言われたとおりにフォルダー名を変更しました。
ファイルは適切な場所にあり、問題が見つかりません。たぶん、dojo ファイルで何かを変更する必要があります。
javascript - dgrid 0.3.6 のソート時に行が重複する
データのテーブルを表示するために、dgrid 0.3.2 と JsonRest を使用しています。最近、dgrid 0.3.6 または 0.3.7 へのアップグレードを検討しています。ほとんど同じように動作しますが、新しいバージョンの dgrid では、ユーザーが列ヘッダーをクリックして十分に速く並べ替えると、グリッドに重複した行が表示され始めるようです。応答の JSON と範囲が正しいことを確認しました。これは、dgrid 0.3.2 を使用したときに発生しなかったようです。
問題を再現し、グリッドとストアのセットアップ方法を模倣する簡単なテスト ケースを次に示します。私は何か間違ったことをしていますか?JsonRest をキャッシュにラップしない場合、この問題は発生しないため、問題があることは確かですが、JSON 応答をキャッシュしないことによるパフォーマンスへの影響についてはわかりません。
javascript - 可変幅の dgrid を TabContainer に追加する
さまざまなデータセットのクエリの結果を表示するグリッド (Dojo 1.8、dgrid) を TabContainer に入力しています。各タブは、1 つのデータセットの結果です。異なるデータセットにはさまざまな数のフィールドがあるため、各グリッドを動的に構築し、TabContainer に追加される ContentPane に追加します。
私の現在の問題は、グリッドを作成するときにグリッドの幅を設定することです。データセットには、グリッドに表示される 2 つのフィールドから 100 を超えるフィールドを含めることができます。CSS で 600px のグリッドのデフォルト幅を設定しましたが、グリッドにはデータセットの最初の 6 つのフィールドしか表示されません。幅を「自動」に設定すると、TabContainer と同じ幅しかなく、スクロール バーが削除され、データが切り取られます。各グリッドの幅を個別に設定することはできますか?
これは、結果がどのように見えるかです
これは、TabContainer を設定するためのコードです。
javascript - renderCell 関数が呼び出されていませんか?
私は dgrid の基礎の学習に取り組んでおり、最も興味のある機能の 1 つは、グリッドのセル内に dom 要素をレンダリングする機能です。私はストアを使用していますが、これは私が使用した例のどれも使用していないものであり、それらの例を模倣して物事を機能させることができませんでした。これが私が取り組んでいるものです:
REST 呼び出しの結果で呼び出される関数では、次のようになります。
ただし、dgrid はコンテンツを [object Object] としてレンダリングするだけです。これは明らかに、ストア内の生データがセルでレンダリングされ、renderCell が呼び出されていないことを意味します。おそらく、renderCell 関数がいつどのように呼び出されるかを誤解しているか、愚かな間違いを犯しただけかもしれません。いずれにせよ、どんな助けでも大歓迎です!