問題タブ [frozen-columns]
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.
jquery - 異なる画面幅に jqgrid 固定列を使用する方法は?
多くの列を持つ JQgrid グリッドがあります。非常に広いモニターを持っている人もいれば、小さなラップトップを持っている人もいます。
ワイド モニターを使用しているユーザーが、ウィンドウのサイズに合わせてグリッドを拡大できるソリューションが必要です。
ラップトップを使用している場合は、列を固定して、スクロールしてもグリッドの最初の列が失われないようにしたいと思います。
このレイアウトをサポートする最善の方法は何ですか?
jquery - jqgridの凍結列はtreegridで機能しますか?
ツリーグリッドで新しい固定列機能を使用しようとしていますが、うまくいかないようです。これは jqgrid でサポートされていますか?
c# - WPF Datagrid GridSplitter で区切られた複数の同期された凍結された折りたたみ可能なペイン
アプリケーションの一部として、複数の固定されたスクロール ペインで構成される「スーパー グリッド」を作成する必要があります。グリッドには、次の機能をサポートする必要があるという要件もあります。
- 「妥当な」スクロール パフォーマンスで数百行のデータグリッドを表示する
- 特定のフィールドでグループ化し、グループ化して折りたたむ/展開する
- 画像、テキスト、コンボボックス、ボタンなど、フィールド内に任意のコントロールを表示します
- ボタンとフィールドの編集、および読み取り専用モードを許可する
- 複数の垂直分割ペインを許可する (または回避策、複数の同期グリッド)
- 永続性を伴うユーザー列の並べ替え
- ユーザー列の昇順/降順の並べ替え
- 列の動的挿入/削除 (列の選択)
- グループ化の下の 4 番目のディメンション – 選択した行の RowDetails テンプレート
- 値の更新時にセル/行テンプレートの点滅/アニメーションを許可
私の最初の実現可能性は、WPF Datagrid が上記のほぼすべての要件に対応できることを示唆していますが (重いテンプレートを使用)、複数の垂直分割ペインはカバーされない可能性があります。以下は、私が達成しようとしていることの図です。
誰かが以前にこれを行ったことがあるかどうか、もしそうなら、どのグリッド技術を使用したかをお尋ねしたいと思います.
- 上記はWPF Datagridで実行できますか? Frozen 列を認識していますが、これは最初の N 列のみの凍結に適用されるようです
- 上記は、複数のグリッドと垂直スクロール位置の同期で達成できますか?
- もしそうなら、このソリューションはまだ仮想化されますか?
- 代わりにこれを達成するために推奨できるサードパーティのグリッドはありますか? 社内ブランディングに従ってグリッドを大幅にスタイリングするため、柔軟でブレンド可能でなければならないことに注意してください
コメント/提案をお待ちしております。
更新 - 実現可能性調査の結果
- 私は、3x グリッドとそれらの間の折りたたみ可能なグリッド スプリッターを使用して、このための実用的なプロトタイプを持ってい ます。
- スクロールビューアは、この質問からの回答を使用して同期されます。
- TwoWay バインディングを使用して共通の SelectedIndex プロパティにバインドすることにより、選択された行が 3 つのグリッド間で同期されます。
次に、グループ化と行の詳細テンプレートに取り組みます...ポイントをくれた回答者に感謝します! :)
jqgrid - jqGrid の固定された列がまったく機能しない
最新の jqGrid バージョンを使用していますが、凍結された列をまったく機能させることができません。調べてみると、標準グリッド上の絶対位置を持つ追加の div がまったく表示されません。これが私のjqGridのセットアップです。
ありがとう。
jquery - jQGrid Frozen列は、jQueryタブ内に配置されている場合は機能しません
jQueryTABで区切られた2つのセクションがあります。私の最初のタブには、固定された列を持つjqGridがあり、これまでのところ機能しています。ただし、2番目のタブには、機能しないフリーズされた列を持つ別のjQgridがあります。
タブに変換するコードを削除すると<div>
、両方のテーブルが同じページ内に表示され、それぞれのフリーズされた列で正しく機能しています。
問題はタブ自体にあると思いますが、これを解決する方法が見つかりません。
jquery - JQgrid 4.5.2 の固定された列を正しく動作させることができません -- ヘッダーのみが移動しています
このような他の質問を読んで、すでに自分で修正しようとしました => Jqgrid 凍結列がフィルター行とフィルター見出しで機能しないように見えるのはなぜですか?
しかし、完全なメソッドを呼び出すことができない (または何か間違ったことをしている) ため、それ以来グリッドが変更されていると思います。
したがって、現在、ヘッダーのコピーのみが移動しており、データは移動していません。ヘッダーの高さも正しくありませんが、ヘッダーを回転させ、後でjavascriptで高さを調整したためだと思います。ヘッダーを回転させることを除いて、箱から出してすぐに使用できますが、それがないと機能しません:(
私はきれいなコード例を作成したので、助けが少し簡単になります.私の状況では、カスタムコードを使用してヘッダーを回転させますが、それがなくても固定された列は機能しません.
どんな助けでも大歓迎です:)
HTML
正しいデータロード + 固定ヘッダーを含む generateddata JavaScript
ヘッダーを回転させるカスタムCSS
qt - setViewportMargins() および「ロックされた」行と列
void QAbstractScrollArea::setViewportMargins(int left, int top, int right, int bottom) のドキュメントには次のように書かれています:
スクロール領域の周囲のマージンを左、上、右、および下に設定します。これは、「ロックされた」行と列を持つスプレッドシートなどのアプリケーションに役立ちます。余白は空白のままです。未使用領域にウィジェットを配置します。この関数は QTreeView と QTableView によって頻繁に呼び出されるため、QAbstractScrollArea サブクラスによってマージンを実装する必要があることに注意してください。また、アイテム ビューでサブクラスを使用する場合は、この関数を呼び出さないでください。
まず、説明自体に戸惑いました。関数は仮想ではないため、マージンを提供するために再実装する必要はありません。いつ、どの時点でそれを呼び出す必要がありますか? また、QTreeView が独自の値で内部的に呼び出している場合、呼び出しがどのように連携するか? Qt のソースを見ると、QTreeView::updateGeometries() がパラメーター (本質的に) 0、headerHeight、0、0 でそれを呼び出すことがわかりました。
さらにグーグルで調べてみると、他の人がオーバーライドされた resizeEvent() から setViewportMargins() を呼び出していることがわかりました。だから私もそうしましたが、これはうまくいきますが:
- この手法が、本質的にハードコーディングされたパラメーターで setViewportMargins() を呼び出す内部 QTreeView::updateGeometries() とどのように共存するのか疑問に思っています (ヘッダーが非表示の場合、headerHeight のみが 0 に変更されます)。
- 機能しますが、ヘッダーの上に「未使用領域」が表示されます。ただし、ドキュメントで言及されている「ロックされた」行を実装するには、この領域をヘッダーの下に配置する必要があります
updateGeometries() をオーバーライドし、(QTreeView::updateGeometries(); を呼び出した後) header() を一番上に移動することで、ヘッダーの下に未使用の領域を確保しました。しかし、これが正しいことかどうかはわかりません。
私の質問は次のとおりです。 「ロックされた」行を実装する方法は、 setViewportMargins() ドキュメントによって意味され、実際にどのように実装する必要がありますか?
固定された行 (または列) を実装する別の方法について認識していることに注意してください - Frozen Column Example。しかし、この手法はメイン テーブル (ツリー) ウィジェットの最初の行 (列) を非表示にし、オーバーレイ (静的) ウィジェットに表示するため、これはまさに私が必要とするものではありません。私の場合、ヘッダーの下の領域に別の情報が必要であり、メインウィジェットを実際に下に移動してすべての行を表示する必要があります