1

RichFaces 3.3.3 finalを使用したrich:extendedDataTableのmax-heightに問題があります。

テーブルに最大の高さを設定したいのですが、テーブルがこの高さを満たさない場合(行数は動的に生成されます)、テーブルは縮小します。

テーブルに高さを定義すると、テーブルを埋めるのに十分な要素がないかどうかに関係なく、テーブルは常にそのサイズになります。

高さを動的にするためのCSSがいくつかあります。

     .rich-extdt-maindiv {
           height: auto !important;
      }

      .rich-extdt-maindiv, .extdt-innerdiv {
           position: relative !important;
      }

      .extdt-outerdiv {
           height: auto !important;
           overflow: visible !important;
      }

      .extdt-content {
           height: auto !important;
           max-height: 200px;
      }

http://community.jboss.org/wiki/ExtendedDataTableDynamicHeightAndJIRABugRF-7488から取得)

ただし、最大高さ(1ページに複数の異なるサイズのテーブル)を変更できるようにしたい。

また、このcssを使用すると、他のextendedDataTableの他のすべての高さをオーバーライドします。

私が現在していることはこれです:

height="#{bean.listSize > 0 ? bean.listSize * 19 + 32 > 291 ? 291 : bean.listSize * 19 + 32 : 0}"

高さの場合、19は行の高さ、32はヘッダーの高さ、291はテーブルに必要な最大の高さです。
個々の行のサイズが異なる場合に機能するソリューションが必要なため、これは理想的なソリューションではありません。

f:verbatimなどでJavaScript呼び出しを機能させることはできませんでした(RichFaces / JSFページにjavascriptスクリプトを埋め込んで呼び出す方法を参照)が、最大高さを設定するとページ上のすべてのテーブルの最大高さ。

誰かがより良い解決策を持っていますか?

これを理解しようとすればするほど、extendeDataTableは制限されていると思います。これに対する解決策を考えることはできませんが、このプログラムのテーブルのサイズが異なることに気づいています。これは実装するのが常識のように見える機能ですが、これを行う方法はありません。

1つの最終更新:

私は何もうまくいかなかった。私はまだ上記の高さ関数を使用しています。ページごとに理解しやすく、制御しやすいです。「19」ピクセル値は、行を太くするために、行にあるアイテムに基づいて変更する必要がある場合があります。

このソリューションでは、高さが行数に基づいているため、セルをラップしたくありませんでした。これにより、行の最後に小さな「...」が追加されます。

セル内の残りのコンテンツをマウスオーバーで表示するrich:toolTip(またはrichfacesを疑うようになったので自分のツールチップ)を追加しました。最善の解決策ではありませんが、必要なものには機能します。

そしてこれはあなたが必要とするCSSです:

.rich-extdt-maindiv, .extdt-innerdiv {
     position: relative !important;
}

.extdt-outerdiv {
     overflow: visible !important;
}

元のファイルの他のcssは、高さを制御することでした。彼らは、高さが動的であり、1つのタグで最大高さを制御するという点でそれを覆しました。動的な最大高さが必要ない場合は、これが最適なソリューションです。

別のオプションは、ページごとに1つのテーブルしかない場合、jQueryを使用して.extdt-contentのmax-heightを変更することです。ページごとに複数あるので、私には選択肢がありません。

これが他の誰かに役立つことを願っています。

heightステートメントはクロスブラウザー互換ではありません。

4

0 に答える 0