#html #css #angular #ag-grid #ag-grid-ng2
#HTML #css #angular #ag-grid #ag-grid-ng2
Вопрос:
У меня есть Div, размер которого может меняться (изменять размер только div) в зависимости от действий пользователя (маленький и большой просмотр), и этот div содержит ag-grid.
Изначально div / grid загружался в размере сжатия, поэтому я использовал класс в соответствии с этим (размер маленького шрифта, высота, заполнение и т.д.) Для удаления прокрутки
Но я хочу, чтобы при увеличении пользователем размера div класс менялся на другой класс (размер большого шрифта, высота и т.д.), Но я не смог найти никакого grid api или метода для динамической настройки cellClass и headerClass.
Еще одна вещь, которую я могу обновить в gridOptions и загрузить grid в соответствии с новой опцией.
Комментарии:
1. Попробуйте, если это поможет ag-grid.com/javascript-grid-cell-styling
2. @dileepkumarjami Я уже установил cellClass и правила cellClass, но мой сценарий немного отличается cellClassRule применяется на основе параметров сетки, но я хочу изменить свойства сетки в родительском div resize
Ответ №1:
Добавьте прослушиватель к событию gridSizeChanged. В прослушивателе проверьте размер окна / div и соответствующим образом примените классы CSS.
var gridOptions = {
...
onGridSizeChanged: onGridSizeChanged
};
function onGridSizeChanged(params) {
let newClass = (css class for new width)
gridOptions.api.getColumnDef(colId).headerClass = newClass;
gridOptions.api.refreshHeader()
}
Комментарии:
1. Эта строка не работает в angular 6,
let newClass = (css class for new width)
поэтому просто добавьте новый класс во время выполнения этим способомfunction onGridSizeChanged(params) { gridOptions.api.getColumnDef(colId).headerClass = 'expanded-grid-header'; gridOptions.api.refreshHeader() }
Спасибо @Chris, ты указал мне правильное направление2. Спасибо. Да, ‘(css-класс для новой ширины)’ является заполнителем кода. Рад, что это помогло вашему продвижению.