0

自動スクロール機能を有効にした後、つまり、 jqGrid、v4.4.1scroll: 1の列でワードラップを有効にした後、1つ以上の列でのテキストの折り返しが原因で行の高さが変更された場合、グリッド/テーブルは最後のレコードまでスクロールできません。すべての行が1行のみ(折り返しなし)を使用している場合、自動スクロール機能はうまく機能します。一部の行が複数の行を使用している場合(テーブル全体で高さが可変の行)、自動スクロール機能が機能しなくなります。最も一般的には、グリッドが垂直スクロールバーの長さを誤って計算したため、結果の最後のページに到達できないことを意味します。

ワードラップをサポートするスタイル:

.ui-jqgrid tr.jqgrow td {
  font-weight: normal; 
  overflow: hidden; 
  white-space: pre-wrap !important; /* changed to enable word wrap */
  height: 22px;
  padding: 0 2px 0 2px;
  border-bottom-width: 1px; 
  border-bottom-color: inherit; 
  border-bottom-style: solid;
}

これを修正する方法はありますか?現時点では、テキストの折り返しをオフにして、列を広げています。

populateVisible垂直スクロールバーの長さを別の方法で計算するように変更できますか?に基づいて計算しているようheight of the first row x num rows (line 852 of v4.4.1)です。答えは「いいえ」だと思いますが...

4

1 に答える 1

0

私が考えることができる唯一の答えは、各tdに固定の高さを設定し、それでもワードラップを許可することです。ただし、これは簡単ではありません。

  1. 高さをで変更し.ui-jqgrid tr.jqgrow tdます。.ui-jqgrid tr.jqgroup td(おそらく、このスタイルも使用している場合は、このスタイルを複製する必要があります。)

    .ui-jqgrid tr.jqgrow td {
      font-weight: normal; 
      overflow: hidden; 
      white-space: pre;
      height: 42px; /* higher fixed height, default is 22px */
      padding: 0 2px 0 2px;
      border-bottom-width: 1px; 
      border-bottom-color: inherit; 
      border-bottom-style: solid;
    }
    
  2. Master Olegのソリューションを使用して、jqgridの行の最大高さを制限しますtdつまり、コンテンツをでラップするカスタムフォーマッタdivです。

注:最終的には、22px(デフォルト)で1行を使用しているだけで、折り返しや列の幅を少し広く設定する必要はありません。ツールチップで非表示のテキストをすばやく表示できます。

于 2013-02-26T11:58:51.973 に答える