問題タブ [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.
json - Dojo の dgrid、JsonRest、サブ行/配列の使用
次のようにフォーマットされた JSON データ ソースから描画するグリッドを作成しています。
等々。YUI 2 DataTable 用にこの JSON 形式を作成しましたが、レコードを理解するために必要なものがすべて含まれているため、うまく機能します。私が YUI で行った dgrid の処理方法がわからないということは、訪問者配列の内容を使用して dgrid を設定するように指示することです。ここに私のdgridコードがあります:
そのサブ行/配列から描画するように dgrid に指示する簡単な方法はありますか?
json - Dojo ストア、Dgrid、および不安定なエントリ
dgrid を JsonRest で動作させようとしています。JSON データを返す Perl ベースのサーバー側コンポーネントを実装しました。応答データは次のようになります。
これらのハッシュ「行」はそれぞれ配列内にあります。dgrid が読み込まれると、Range ヘッダーなしでサーバー コンポーネントにクエリが実行され、サーバー コンポーネントはデフォルトの範囲のデータを返します。次に、dgrid は「Range: items=0-24」で再度クエリを実行します。応答として、サーバーはエントリ 1 ~ 25 をリストされた形式で応答ヘッダー「Content-Range: items 0-24/470」と共に提供します。
dgrid が次の 40 項目を要求すると、問題が発生します。「Range: items=23-63」を要求し、サーバーは要求を正常に満たします (データが取得されたことを示す WebKit 開発者ツールを使用して確認できます)。ただし、dgrid 自体をスクロールすると、行 1 ~ 25 が表示され、行 40 にジャンプします。スクロールし続けると、470 エントリすべてをロードする方向に進みますが、グリッドが移動し始め、行が劇的に増加します。順不同 (たとえば、グリッドは行 8 から始まり、行 1 は行 75 の後に表示されます)。
おそらく、JSON データに明確に一意の ID が含まれていなかったことが原因だと考えたので、idProperty 設定で ID (「id」) を追加しました。立ち入り禁止。また、それが役立つかどうかを確認するために 10 行のオーバーラップを追加しようとしましたが、それは事態を悪化させるだけのようでした.
これが私の Dojo コードです。
dojo - BorderContainer 内の Dgrid のサイズ変更
「liveSplitters」が有効になっている BorderContainer 内に dgrid があります (Dojo 1.8 を使用)。dgrid はうまく表示されますが、左側の列と「先頭」の列 (dgrid が含まれている) の間でスプリッターを移動すると、dgrid のサイズが適切に変更されません。ただし、ウィンドウのサイズを少し変更すると、dgrid は適切なサイズに戻ります (つまり、BorderContainer の「先頭」ペインを 100% 埋めます)。
CSS で dgrid を 100% 幅に設定しました。スプリッターの移動後にサイズを更新するように dgrid に指示する必要がある方法はありますか?
datagrid - Dojo dgrid 内のウィジェット
当社は少し前に移転しdojox/DataGrid
ましdgrid
た。現在、dgridはそのままでは dijit/dojox ウィジェットをサポートしていないようです。
dojox/DataGrid
ウィジェットをformatter()
返すことができる があります。とても簡単です。GitHubのAPI比較は言う
「dgrid はフォーマッタ関数をサポートしていますが、それらからウィジェットを返すことはサポートしていません。dgrid には renderCell もあり、DOM ノードを返すことが期待されています。これは表面上はウィジェットを表示するために使用できます (エディタ列プラグインはまさにこれを行います)。セルを編集する目的で、エディター列プラグインの使用を強くお勧めします。"
どのように正確に?
でエディタープラグインを使用してみました{editor: ' ', editorArgs:' '}
。これはウィジェットをレンダリングしますが、制限が多すぎます。dijit/Button
たとえば、セルの値であるラベルを使用して をレンダリングするにはどうすればよいですか? または、より複雑なもの、ストアの値であるフォーマッタ関数から生成された (あまり知られていない)dojox/image/MagnifierLite
を使用するにはどうすればよいですか?<img>
src
javascript - Column Plugins(tree)dojoでクリックイベントをキャッチ
次のコードのようなdgridがあります。2番目のフィールドはツリーです。ユーザーがツリーのアイコンをクリックするときにXHRを呼び出す必要があります。どうすればこのイベントをキャッチできますか?
ありがとう
php - PHPでdojoの1.8モジュールを動的にロードする方法は?
メインページ dojox/layout/ContentPane ウィジェットに持っています。このウィジェットは、PHP によって形成された Javascript と HTML を含むコンテンツを含む Href を動的にロードします。Javascript
PageScript() は、ページのウィジェットとロジックを描画する Dojo クラスです。問題は、他の href をロードするときに、古いページのオブジェクトが部分的に新しいオブジェクトのプロパティを取得することです。描画後のページのオブジェクトの削除、ウィジェットの破棄は問題の解決には役立ちません。
ページスクリプト
PS。私の悪い英語でごめんなさい
javascript - Dojo dgrid ツリー、間違った位置のサブロー
ツリー列プラグインを使用する dgrid があります。ユーザーがツリーをクリックするたびに、サーバーを呼び出し、サブ行 (json) をキャッチしてバインドします。しかし、それが起こると、下の画像のように、これらの下位行が間違った位置に表示されます。最も奇妙なのは、ページネーションを変更すると、最初のページに戻った後、サブ行が正しい場所にとどまることです。
(私の英語を理解できるかどうか教えてください。そうすれば、テキストを改善することができます)
私のdgridコード:
私の思い出の店:
この瞬間、サブ行をバインドしています:
サブ行をバインドするたびに、グリッドの更新のようにできるのではないかと考えていました。ページネーションも同じことをしていると思います。
ありがとう。
編集:
質問を忘れました。さて、どうすればこのバグを修正できますか? dgrid の更新が機能する場合。どうすればいいですか?私が考えていた他のこと、多分私のgetChildrenが間違っているかもしれませんが、私はそれを特定できませんでした.
再度、感謝します。
javascript - DojoDropDownMenuをテーブルセルにフロートさせる方法
つまり、テーブルの上に浮かんでいて、テーブルセル内にレンダリングされていないドロップダウンメニューを表示するにはどうすればよいですか?
このサンプルコードを使用して、テーブルセル内にドロップダウンメニューを表示しています。
ここDropDownMenu
で"dijit/DropDownMenu"
、MenuItem
はです"dijit/MenuItem"
。
次に、このコードを使用してテーブルセルへのリンクを追加しています(dgrid renderCell関数内で実行されますが、この問題には関係ないと思います)。
リンクをクリックすると、ドロップダウンがレンダリングされますが、テーブルセルの上ではなく、テーブルセル内に表示されます。これにより、現在のテーブル行が展開されます。私が理解できないのは、いくつかのCSSプロパティにかかっていると思います。CSSプロパティをオーバーライドしていないので、ドロップダウンがセル内ではなくテーブル上に自動的に配置されることを期待しますか?
json - dgridとDateTextBox
dgridOnDemandGridをdijit.form.DateTextBoxをエディターとして使用できるようにしようとしています。データはJSONを介してOnDemandGridに送られます。最初は、MySQLデータベースから生の形式で日付をフィードしようとしていましたが(例YYYY-MM-DD HH:MM:SS
)、DateTextBoxがその文字列を解析できないように見えたときは、日付だけをフィードしようとしました(例2012-11-20
)。ただし、これも機能しませんでした。
したがって、私の主な問題は、DateTextBoxに日付情報を処理させることです。DateTextBoxは時刻を編集できないため、2番目の問題は時刻情報の処理方法です。私の現在のアプローチは、SQLの日付文字列を分割するときに、dgridにdijit.form.TimeTextBoxの個別の列として時間をフィードすることです。これは厄介な解決策のように思われるので、私は提案を受け入れています。
これが私のグリッドコードです:
これが私のJSONソースのサンプル文字列です:
javascript - Dojo dgrid、プラグイン列ツリーの各サブ行にアイコンを配置 (PDF、HTML、XSL)
ツリー フィールド (プラグイン列) がある道場 dgrid を実行しました。ユーザーがダウンロードできるように、各サブ行にアイコン(PDF、HTML、およびXLS)を配置しようとしています。アイコンを作成するために formatter: function(item, rowIndex, cell)を使用しようとしましたが、ツリー列が破損し、単に作業が停止します。ドキュメントでやりたいことのようなものは見つかりませんでした。
次の画像は私の例を示しています。
私もHTMLを混ぜてみましたが、うまくいきませんでした。HTMLとJavaScriptを混ぜて、このようにしたくありません。
これどうやってするの?