剣道グリッドに問題がwindow
あり、ウィンドウ内にtabstrip
タブのコンテンツがあり、タブ1とタブ2にそれぞれ表示される2つのグリッドがあり、ウィンドウも最初は見えません。
私の問題はgrid in the second tab height
、元のグリッド コンテンツの高さを超えていることです。私は jsfiddle clickhereで問題を再現しました。誰かが私を助けることができると思います。
剣道グリッドに問題がwindow
あり、ウィンドウ内にtabstrip
タブのコンテンツがあり、タブ1とタブ2にそれぞれ表示される2つのグリッドがあり、ウィンドウも最初は見えません。
私の問題はgrid in the second tab height
、元のグリッド コンテンツの高さを超えていることです。私は jsfiddle clickhereで問題を再現しました。誰かが私を助けることができると思います。
上記のコメントで説明されているように結果を取得するには:
ページングではなくスクロールを使用してすべての結果を表示するグリッドが必要です。ただし、このグリッドはタブストリップ タブ (たまたまウィンドウ内) 内にあるため、コンテナー (タブストリップ タブ) をオーバーフローさせることはできません。
あなたがすべき:
height
は の有効なオプションではありませんkendoTabStrip
。削除できます。pageable: ...
、初期化からも削除する必要があります。Grid
pageSize: 10
DataSource
height
Kendo UI が導入したスタイリングが正しく計算されない (!?)ため、 を実行して削除する必要があります$("#grid2").css("height","");
。これは少しトリッキーに思えますが、それ以外の方法では実行できませんでした。あなたの例の次の変更では、この変更をgrid2
(grid2のみ)に対して行いました。
私はあなたのjsfiddleをチェックし、それを見つけました
<div id="tabStrip">
<ul>
<li>First tab</li>
<li>Second tab</li>
</ul>
<div id="grid1"></div>
<div id="grid2">Second tab content</div>
</div>
上記のコード<div id="grid2">Second tab content</div>
では、2番目のタブの高さの問題が発生しています。
のテキストを削除してdiv
試すことができます。
変化する
コードにいくつか変更を加えました。以下のjsFiddleをご覧ください。
フィドルこのフィドルを確認してください
あなたのコメントに従ってフィドルを更新しました
私は同じ問題を抱えており、dataBound イベントで .k-grid-content の高さを設定することで解決します
$("#grid").kendoGrid(
{
dataBound: function()
{
$('#grid .k-grid-content').height(349);
}
});
ここでjsfiddleをチェックしてください
ウィンドウまたはタブストリップ (アクティブなタブ以外) 内のグリッドの高さの問題。実際、これらの問題は、コンテンツを部分的にロードしたり、ajax を介してロードしたりするときに発生します。
解決策 1:作業中
- CSS を使用してグリッド コンテンツ コンテナーに最大高さを設定し、グリッドのバインド中に高さを削除します。したがって、グリッド コンテンツがこの高さよりも大きい場合、スクローラーが有効になります。以下のようにしました。
CSS:
#gridTasks .k-グリッド-コンテンツ { 最大高さ: 300px; }
JavaScript:
//グリッドで利用可能なデータソースを準備します var taskDataSource = new kendo.data.DataSource({ サーバーページング: 真、 サーバーフィルタリング: 真、 サーバーソート: 真、 ページサイズ: 10, スキーマ: { データ: "データ", 合計: "合計", model: { // データ ソースのモデルを定義します。検証およびプロパティ タイプに必要です。 id: "メンバーID", 田畑: { MemberID: { type: "number", editable: false }, TaskName: { type: "string" } } } }、 輸送: { 読んだ: { url: "/MemberManagement/GetTasksList", contentType: "アプリケーション/json", type: "POST" // デフォルトでは GET は ASP.NET MVC で許可されていないため、HTTP POST 要求を使用します。 }、 parameterMap: 関数 (データ、操作) { if (操作 == "読み取り") { JSON.stringify(データ) を返します。 } } } }); //バインド グリッド $("#gridTasks").kendoGrid({ // 高さ: 300, // この行を削除 *** 列: [ { field: "MemberID", title: "Member ID", width: 60, groupable: false, hidden: true }, { field: "TaskName", title: "Task Name", width: 100 , groupable: false } ]、 ページング可能: { リフレッシュ: 真、 ページサイズ: 10, ページサイズ: [10, 20, 50, 100], ボタン数: 5, メッセージ: { 空: "レコードが見つかりません。", 表示: 「{0}-{1}/{2}」 } }、 ソート可能: true, 選択可能:「複数」、 スクロール可能: true, フィルタリング可能: true, グループ化可能: true, データソース: taskDataSource });
解決策2:私のためにも働いています。
- dataBound
javascriptでk-grid-content の高さを変更します。
データバインド: 関数() { $('#gridTasks .k-grid-content').height(300); }