2

テキストエリアにロットまたはラインが含まれています。jqgrid グリッドでは、最初の行のみが表示されます。jqgrid ビュー ウィンドウでは、より多くの行と可能なスクロールバーも表示する必要があります。

jqgrid で行の最大高さを制限する方法からのOleg の回答

ビュー ウィンドウのテキスト領域の高さも 1 行に制限します。グリッドのみで最初の行を表示し、jqgrid ビュー形式でより多くの行を表示する方法は?

コルモデルは次のとおりです。

{"name":"Description",
  "edittype":"textarea",
  "wrap":"on",
  "formatter":function(v){ return '<div style="max-height:20px">'+$.jgrid.htmlEncode(v)+'</div>';
                             } 
  ,"editoptions":{"class":"","rows":18,"wrap":"off","style":"width:800px",
      "readonly":"readonly"
      },
  "editrules":{"edithidden":true},"editable":true,"width":539,
  "classes":"jqgrid-readonlycolumn"}

jqgrid ビュー ウィンドウに複数の行が表示されます。これは同じままにする必要があります。

複数行の適切な表示ウィンドウ

グリッドにも複数の行が表示されます。これは間違っています。:

テキストエリアに複数行のグリッド

グリッドに各テキストエリアの最初の行のみを表示させる方法

または、画面の下部にさらに多くの行を表示することもできます。行がアクティブになると、textarea 列の最初の 10 行が下部に表示されます。これは、Windows のログ ビューアーと似ています。イベント行に移動すると、イベントの長いデータが別のウィンドウに表示されます。

4

1 に答える 1

2

私があなたの問題を正しく理解していれば、比較的簡単に解決できます。max-height複数行データを含む div の設定には、インライン スタイルの代わりに CSS を使用する必要があります。たとえば、 のclassesプロパティを<td>使用して、複数行の要素を持つ列の要素にクラスを設定できます。たとえば、対応する列のセルの を使用すると、クラス属性が取得されます。グリッド内とビュー フォーム内の要素の階層が異なるため、両方のケースで異なる高さの制限を指定できます。colModelclasses: "textInDiv"<td>

{name: "Description", edittype: "textarea", classes: "textInDiv",
    formatter: function (v) {
        return '<div>' + $.jgrid.htmlEncode(v) + '</div>';
    }}

tr.jqgrow>td.textInDiv>div {
    max-height: 20px;
    overflow: auto
}
td.form-view-data>span>div {
    max-height: 150px;
    overflow: auto
}

デモで結果を示します。max-height次の図で、セルの内容がグリッドとビュー フォームでどのように異なるかを確認できます。

ここに画像の説明を入力

ここに画像の説明を入力

于 2012-11-11T11:47:33.840 に答える