Amit'in çözümüne dayanarak hazırladığım genel bir yöntem. Görüntülenecek maksimum satır sayısını belirtmenize izin verecektir. Maksimum yüksekliği hesaplamak için kılavuzun başlık yüksekliğini kullanır. Satırlarınız, başlığınız ile aynı yükseklikte değilse, aramaya gerek olabilir. Umarım yardımcı olur.
function resizeGridHeight(grid, maxRows) {
// this method will resize a grid's height based on the number of elements in the grid
// example method call: resizeGridHeight($("#XYZ"), 5)
// where XYZ is the id of the grid's table element
// DISCLAIMER: this method is not heavily tested, YMMV
// gview_XYZ is a div that contains the header and body divs
var gviewSelector = '#gview_' + grid.attr('id');
var headerSelector = gviewSelector + ' .ui-jqgrid-hdiv';
var bodySelector = gviewSelector + ' .ui-jqgrid-bdiv';
// use the header's height as a base for calculating the max height of the body
var headerHeight = parseInt($(headerSelector).css('height'));
var maxHeight = maxRows * headerHeight;
// grid.css('height') is updated by jqGrid whenever rows are added to the grid
var gridHeight = parseInt(grid.css('height'));
var height = Math.min(gridHeight, maxHeight);
$(bodySelector).css('height', height);
}
3.6 bu yeni özellik mi loadComplete işlevi içinde kodunun altına ekle? Maksimum yükseklik nasıl ayarlanır? Kılavuzun da ekranın tamamını doldurmasını istemem. –
Hayır, 3.6'dan daha eski. Maksimum yükseklik desteklenmez AFAIK (sınırlayıcı satır sayısı hariç); Bunun için daha fazla çalışmalı veya kaydırılabilir bir şeye koymalısınız. –
Denetim numaramda olmadığı için satır sayısını sınırlayamıyorum. Ancak bu cevabı kabul ediyorum çünkü ihtiyacım kısmen karşılanıyor ve başka bir cevap yok. –