2013-02-25 3 views
0

После включения автоматической прокрутки функцию, т.е. scroll: 1, и позволяет перенос слов в столбцах jqGrid, v4.4.1, сетки/таблицы не может перейти к последней записи, если это высота строки изменилась из-за переноса текста в 1 или более столбцах. Если все строки используют только одну строку (без упаковки), функция автоматического прокрутки отлично работает. Если в некоторых строках используется более одной строки (строки переменной высоты по всей таблице), функция автоматического прокрутки начинает разрушаться. Чаще всего это означает, что вы не можете попасть на последнюю страницу результатов, потому что сетка неправильно рассчитала длину вертикальной полосы прокрутки.jqGrid разрывы АВТОПРОКРУТКА когда поддержка столбцов текста обертывают

Стиль поддерживать перенос слов:

.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). Я подозреваю, что ответ «нет», но ...

ответ

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 «s для restrict the maximum height of row in jqgrid. То есть пользовательский форматтер, который обертывает содержимое в td с помощью div.

Примечание: в конце концов, я не буду просто использовать отдельные строки в 22px (по умолчанию), не обертку и настройки COLS немного шире - быстрее и по-прежнему позволяет всплывающие подсказки, чтобы показать какой-либо скрытый текст.

+0

Принято как ответ из-за отсутствия других альтернатив. –