Scroolbar Dbgrid

  • Автор темы Pe+erBuild
  • Дата начала
Статус
Закрыто для дальнейших ответов.
P

Pe+erBuild

Подскажити пож. как убрать ScroolBar c грида, но не меняя исходник самого компонента
 
P

Pe+erBuild

Грид с библиотеки RX, а именно DBGrid. я пробывал так:

Type TFake=class(TCustomGrid);

потом в FormCreate пищу:

TFake(grdFirstClient).ScrollBars:=ssVertical;

но ничего не выходит :)

Может както можно с помощью API???

Помогите пожалуйста...
 
B

Barmutik

Если мне не изменяет память то скрол появится только втот момент когда количество отображаемой информации превысит размер контрола.. и как мне помнится он появляется автоматически там ..

Или у Вас он не появлется? На тестовом примере всё чудненько он появляется...
 
P

Pe+erBuild

Да, но я хочу избавится от скрола вообще!!!!!!!!! При любых условиях. Извини за ошибку... писал так

TFake(grdFirstClient).ScrollBars:=ssVertical;

а надо...

TFake(grdFirstClient).ScrollBars:=ssNone;

но без результатно :D(
 
B

Barmutik

Сходу у меня убрался скрол следующей командой...

Код:
SetScrollRange(DBGrid.Handle, SB_VERT, 0, 0, False);

Не знаю точно лучший ли это вариант .. но вроде как работает .. если не будет работатьсообщиет и посмотрим что можно сделать ещё...
 
P

Pe+erBuild

Окей попробую через часика 3, т.к сейчас кодируется фильмец...
 
P

Pe+erBuild

Теперь все ОК!!! хотя SetScrollRange(grdFirstClient.Handle, SB_VERT, 0, 0, false) ни давал никакого результата... Но я поступил как настоящий кодер - перекрыл этот скрол панелью на котором он находился ... Не суди строго, но я считаю что это самое оптимальное решение в моем случае...

Хочу задать еще вопросик: как можно организовать Drag&Drop в гриде чтобы копировать записи по всем полям, например перетащить третью запись на первую и чтобы они поменялись местами?
 
P

Pe+erBuild

Теперь все ОК!!! хотя SetScrollRange(grdFirstClient.Handle, SB_VERT, 0, 0, false) ни давал никакого результата... Но я поступил как настоящий кодер - перекрыл этот скрол панелью на котором он находился ... Не суди строго, но я считаю что это самое оптимальное решение в моем случае...

Хочу задать еще вопросик: как можно организовать Drag&Drop в гриде чтобы копировать записи по всем полям, например перетащить третью запись на первую и чтобы они поменялись местами?
 

Вложения

  • 1.rar
    18,7 КБ · Просмотры: 227
B

Barmutik

Гммм.. честно .. ламерский способ :D.. я бы так не делал .. ибо это по определению криво...

И как будет работать например на Large Fonts Вы себе представить не можете ...

А в гриде местами записи никак не поменяеш потому как он просто осуществляет показ курсора..

Для этого стоит использовать виртуальные контролы .. вытаскиваеш в него содердимое записи и потом уже отвязавшись от курсора двигаеш записи в гриде как хочеш ...
 
P

Pe+erBuild

Large Fonts я не использую. Со скролом покончено:D

а на счет виртуальных контролов, можно подробнее?
Всетаки думаю это зделать реально, чтобы пользователь просто захватил мышью одну запрись, перетащил на другую и они поменялись местами.

И еще, могу ли я использовать SQL, а именно сортировку и фильтр не использовавши алиасов, у меня просто база парадокс лежит в том же каталоге что и программа и все TTable имеют свойство DatabaseName = '.\'
PS на счет индексов на сколько я недавно понял (это было революционное событие в моем понимании индексов) что их надо строить динамически например при каждом клике на заголовке грида, а раньше я зоздавал индексы в DatabaseDesktop и потом переприсваивал их в свойстве IndexName... не пинай меня сильно за ТАКОЕ java script:emoticon(':D', 'smid_13')

Жду ответа...
С уважением Pe+erBuild
 
B

Barmutik

По поводу виртуальных контролов.. посмотрте пример TListView в виртуальном реиме (есть в комплекте поставки Дельфей) или к примеру компонент TVirtualTree .. я сам его использую в очень многих проектах...

SQL использовать можете ... даже без альясов...

Индексы можно не строить а просто переключать уже готовые...
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!