Я вижу много вопросов о полосе прокрутки БД, но, кажется, никогда не нахожу однозначного ответа на этот вопрос.
Нет возможности (свойства) добавлять / скрывать полосы прокрутки сетки БД, по отдельности или вместе. Просто автоматически появляются при необходимости.
Если у меня недостаточно строк для прокрутки, я хочу, чтобы мои столбцы заполняли всю сетку.
Если я спроектирую это так, то при добавлении вертикальной полосы прокрутки во время выполнения автоматически добавляется и горизонтальная полоса прокрутки (поскольку я только что закрыл правую часть самого правого столбца вертикальной полосой прокрутки, теперь нам нужна горизонтальная прокрутка бар, чтобы увидеть, что я покрываю).
Один из вариантов - спроектировать мою сетку таким образом, чтобы при правильном размере (сколько пикселей?) Было достаточно места для размещения вертикальной прокрутки, но это некрасиво, пока не будет достаточно строк для запуска полосы прокрутки (если когда-либо).
Мне кажется, что наиболее эстетичным способом было бы начать с сетки, которая заполнена столбцами шириной X пикселей и увеличить ее ширину до X + width of vertical scroll bar
(или уменьшить ширину одного / нескольких столбцов сетки в сумме на width of vertical scroll bar
) пикселей при добавлении новой строки вызывает появление вертикальной полосы прокрутки.
Я что-то упускаю? Есть ли «правильный» способ сделать это или стандартный в отрасли способ (я не прошу указать «лучший» способ или что-то слишком субъективное, поэтому, пожалуйста, не закрывайте его. Я считаю, что это нужно знать многим).
Есть ли что-нибудь в стандарте TDBgrid
, чтобы облегчить это?
Бонус: я подписываюсь на компоненты TMS, поэтому, если есть способ сделать это просто с помощью TAdvDbgrid
, для меня это будет хорошо, но общее решение с TDBgrid
подойдет.
Несубъективный вопрос: учитывая, что
- я не хочу увеличивать ширину моего TDBgrid
- и что мне не нужен пустой белый столбец справа, когда нет вертикальной полосы прокрутки
- и что я хочу уменьшить ширину самого правого столбца, чтобы избежать появления горизонтальной полосы прокрутки при появлении вертикальной полосы прокрутки
... как мне это сделать?
[Обновление] Кен был справедливо награжден ответом, потому что его решение лучше всего подходит для большинства пользователей.
Для тех, кто, как я, уже заплатил за подписку TMS, я просто заметил, что их компонент TDbAdvgrid
имеет свойство ScrollBars, и когда я устанавливаю его на ssVertical
, он делает то, что я хочу.
Если бы я только мог найти хороший способ иметь фиксированную строку заголовка, когда это единственная строка ...