問題タブ [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.
rest - Dojo dgrid に「結果が見つかりません」というメッセージが表示されない
私はこれを私の dgrid コンストラクターとして持っています。
部分的なconfig_optsは
. . .
ただし、JsonRESTStore を使用してサーバーからデータを要求し、返された json データが空、つまり "[]" グリッドに "noDataMessage" が表示されない場合、当初、これはヘッダーが原因であると考えていました。空の結果セットでも 200 OK を返すので、これを 204 No Content に変更しましたが、まだ何も機能していないようです。何らかの理由でこのネイティブ機能が今のところ賢すぎるように思われるため、回避策、またはグリッドが結果を取得できなかったかどうかを知る方法さえあれば幸いです。
dojo - dgrid の OnDemandGrid はサーバーにリクエストを送信し続けます
私が取り組んでいるプロジェクトの製品データ (パーツと呼ばれる) を表示するための OnDemandGrid セットアップがあります。現在、製品データベースには 2 つのエントリしかありません。
私の OnDemandGrid は、ストアと列という基本的なオプションのみでセットアップされています。仮想スクロール グリッドになることを期待しています。ストアは JsonRest ストアとしてセットアップされ、Cache が使用されました
ページを開いてグリッドを起動するとどうなるかというと、グリッドはサーバーにデータのリクエストを継続的に送信し続けます。
また、2 行しかないグリッドの場合、右側にスクロールバーがあることにも気付きました。このスクロールバーを使用してスクロールしようとすると、グリッドがちらつき、リセットされているように見えます。何度も。
仮想スクロール機能が何かおかしなことをしているのではないかと思います。どういうわけか、エントリが 2 つしかないことを認識していません。誰かがこれで私を助けることができますか? 必要に応じて詳細を提供します。
ちなみに私のコードは次のとおりです。
partsMaster は、コード内で以前に定義された JsonRest ストアです (現時点ではグローバル - スピンのためにグリッドを使用)。JsonRest が問題ではないことを安全に判断するために、いくつかのテストを行いました。
現在のグリッドのスクリーンショットを次に示します (スクロールバーの存在に注意してください)。
どんな助けでも大歓迎です!
編集:添付は、クロムからの最初のリクエスト応答ヘッダーのスクリーンショットです:
javascript - dgrid renderRow の後に関数を実行する
renderRow
グリッドのイベント後に実行される関数を結び付けようとしています。だから私はDOJOのaspect.afterを使いましたが、キッカーはここにあります。これは、行が実際にレンダリングされる前に実行されるため、divs\tds はまだ画面に表示されていません。そして、アイテムの位置を使用したいので、 を使用するdojo/domgeometry
と、ゼロで満たされたオブジェクトが返されます。行の表示が終了した後に関数が実行されることを保証するにはどうすればよいですか?
以下に、私が呼び出している JS を示します。
編集:別のこと、私はツリー拡張機能を使用しています.renderRowは、親をクリックして展開した後に発生します。
編集:必要な場合に備えて、ここにもう少し情報があります。ストアはシンプルです。
グリッドは次のように宣言されます。
これがアフターアスペクトの内部です
はconsole.log('finished refreshing');
呼び出されず、位置ログも呼び出されません。
グリッドには多くの列があり、いくつかは合成列に結ばれ、ツリーである名前の列、および他のいくつかの列があります。ツリーを展開するときに renderRow が呼び出されます。
javascript - TAB で dgrid のエディターを変更できません
TAB
キーを dGrid でナビゲートしようとしています。Dgrid set focus on cellで見つかったソリューションをベースとして使用しましたが、これまで解決できなかった問題がいくつかあります。
以下に、私が現在使用しているブロックを示します。すべての列にエディターがあるわけではないため、var を追加したため、right
. SHIFT+TAB
また、後方ナビゲーションを可能にするためのサポートも追加しました。MT4.prje.grids[gridId]
dGrid インスタンスです。ページに色々あるかもしれません。
グリッドはで作成されます
MT4.prje.grids[gridId] = new (declare([OnDemandGrid, Keyboard, Selection, CellSelection]))(gridInfo, gridId);
wheregridInfo
には列定義とストアがあります。ストアは次のように作成されます。
エディターは通常TextBox
、NumberTextBox
およびSelect
dijit ウィジェットであり、すべて自動保存に設定されています。
改行部分を無視しても、いくつかのエラーが発生します。まず第一に、エディターはかろうじて存在し、選択と一緒に消えます。空の列にタブで移動すると、エディターに前のエディターの値が入力されることがあります。より一貫して行う方法はありますか?
私が考えているのは、sharedEditor で競合状態が発生していることです (それらは に設定されていますeditOn: focus
)。dojo.on('blur') で deselect/select をラップして出力しようとしました。dijit/form/Select
しかし、それはウィジェットで一貫して正しくなるわけではありません。それを呼び出すことができるより良いイベントはありますか?
また、最終ブロックを次のように変更してみました。
しかし、それは2つのエラーを出します:
- セルに変更を加えると、次のエディターに移動しません。それを選択さえしません。
- 空のセルから別の空のセルに初めて移動するときも機能しません。
誰でもアイデアはありますか?
pagination - dgrid ページネーション - i18n 言語ファイルの変更
dgrid ページネーションで i18n 言語ライブラリの 1 つをロードする方法は?
「en」ではなく「ar」をロードしたいのですが、どうすればよいですか?
javascript - Dojo Dgrid の行選択が機能せず、dgrid セレクターの値を取得していますか?
現在、選択ボックス、テキストボックス、および2つのチェックボックスでDojo dgridを使用していますが、行全体の選択を無効にすることはできません。また、2番目のチェックボックスをクリックすると、dgridの選択と選択解除が機能せず、最初のチェックボックスが反映されます。
1.Dojo Dgrid で行全体の選択を無効にする方法は? 2.保存をクリックしたときにDgrid selectboxとDgrid textboxの値を取得するにはどうすればよいですか? 3.セレクター(チェックボックス)を使用すると、その列のラベルをレンダリングできませんか?
貴重な回答が得られることを願っています....