Таблица PrimeNG 17.18 — возможность сохранять ширину столбцов и загружать их обратно (индивидуальная реализация)CSS

Разбираемся в CSS
Ответить
Anonymous
 Таблица PrimeNG 17.18 — возможность сохранять ширину столбцов и загружать их обратно (индивидуальная реализация)

Сообщение Anonymous »

У меня есть веб-приложение Angular 18, использующее компоненты PrimeNG 17.18.
Я создаю состояние таблицы сохранения, которое сохраняет несколько настроек в базе данных.
Моя проблема заключается в том, что в PrimeNG не так много документации по получению и настройке ширины столбцов в таблице (и привязке к ней). Мне удалось получить ширину столбца из частной переменной в компоненте таблицы PrimeNG (это не лучшее решение, поэтому, если вы знаете лучший способ получить ее, дайте мне знать), например сын:

Код: Выделить всё

let tableColWidths=(this.dt as any)._initialColWidths || [];
Поскольку в таблице указано значение columnsResizeMode как «расширение», tableColWidths может быть неопределенным до тех пор, пока пользователь не изменит размер столбца с помощью функции перетаскивания. В этом сценарии столбцы будут иметь автоматическую ширину.
С помощью tableColWidths я могу получить ширину в пикселях каждого столбца.
Проблема возникает, когда мне приходится загрузить информацию обратно. Я попытался сделать в файле .html следующее:

Код: Выделить всё

[ngStyle]="{'width': col.width > 1 ? col.width + 'px' : 'auto'}"
Поскольку я сопоставляю столбцам значение ширины при загрузке. Если никаких изменений не было сделано, столбцы будут иметь ширину 0. Если имело место изменение размера столбца, значение будет больше 0.
Поскольку для параметра columnsResizeMode установлено значение «expand». , если столбцы превышают ширину экрана, они не загружаются обратно, как ожидалось.
Есть ли правильное решение для достижения моей цели - правильного сохранения ширины столбцов + таблицы ширину, а затем загрузить их обратно?

Подробнее здесь: https://stackoverflow.com/questions/790 ... k-custom-i
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «CSS»