Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.08.13;
Скачать: [xml.tar.bz2];

Вниз

Проклятый DBGrid   Найти похожие ветки 

 
WhiteCat   (2006-07-21 23:45) [0]

Здравствуйте! Подскажите, пожалуйста, могу я сделать скролирование в DBGrid как в Excel? Т.е. чтоб фокус с выбранной строки не соскавивал при прокрутке сетки.


 
XeON ©   (2006-07-21 23:52) [1]

Попробуй взять сторонние компоненты DBGrid. Будет тебе и фокус не соскакивающий и всё что угодно. Они намного практичнее.


 
WhiteCat   (2006-07-21 23:55) [2]

Ну в принципе я и пользуюсь сторонним компонетом - JVCL. Какие у меня есть возможности реализовать задуманное?


 
Gydvin ©   (2006-07-22 00:01) [3]


>  Проклятый DBGrid


Может побрызгать святой водой? :)))


 
KilkennyCat ©   (2006-07-22 00:06) [4]

procedure TCustomDBGrid.WMVScroll(var Message: TWMVScroll);
var
 SI: TScrollInfo;
begin
 if not AcquireFocus then Exit;
 if FDatalink.Active then
   with Message, FDataLink.DataSet do
     case ScrollCode of
       SB_LINEUP: FDataLink.MoveBy(-FDatalink.ActiveRecord - 1);
       SB_LINEDOWN: FDataLink.MoveBy(FDatalink.RecordCount - FDatalink.ActiveRecord);
       SB_PAGEUP: FDataLink.MoveBy(-VisibleRowCount);
       SB_PAGEDOWN: FDataLink.MoveBy(VisibleRowCount);
       SB_THUMBPOSITION:
         begin
           if IsSequenced then
           begin
             SI.cbSize := sizeof(SI);
             SI.fMask := SIF_ALL;
             GetScrollInfo(Self.Handle, SB_VERT, SI);
             if SI.nTrackPos <= 1 then First
             else if SI.nTrackPos >= RecordCount then Last
             else RecNo := SI.nTrackPos;
           end
           else
             case Pos of
               0: First;
               1: FDataLink.MoveBy(-VisibleRowCount);
               2: Exit;
               3: FDataLink.MoveBy(VisibleRowCount);
               4: Last;
             end;
         end;
       SB_BOTTOM: Last;
       SB_TOP: First;
     end;
end;


переделать.


 
WhiteCat   (2006-07-22 00:12) [5]

To KilkennyCat
 Спасибо, брат!
 
Правда, получается нужен свой компонент, который еще и регить в системе нуна. Или возможны варианты?


 
KilkennyCat ©   (2006-07-22 00:15) [6]

Возможно исправить генофонд. Но это чревато многим, в том числе забитием меня ногами остальными форумчанами :)
Но а чего там писать-то... наследование, инкапсуляция и полиморфизм облегчают жизнь...


 
WhiteCat   (2006-07-22 00:16) [7]

ХА! Посмотрел внимательнее! И что здесь можно переделать?
Как прокрутить сетку оставив фокус на выбранной строке?

Уточняю: Подскажте команду которая покажет мне последнюю линию в сетке, а выбранной останется первая(к примеру)


 
WhiteCat   (2006-07-22 00:17) [8]

ХА! Посмотрел внимательнее! И что здесь можно переделать?
Как прокрутить сетку оставив фокус на выбранной строке?

Уточняю: Подскажте команду которая покажет мне последнюю линию в сетке, а выбранной останется первая(к примеру)


 
WhiteCat   (2006-07-23 22:19) [9]

to Gydvin
 Так что идти за святой водой?
или все же
 Как прокрутить сетку оставив фокус на выбранной строке?

Уточняю: Подскажте команду которая покажет мне последнюю линию в сетке( при большом количестве строк), а выбранной останется первая(к примеру)


 
Desdechado ©   (2006-07-24 10:38) [10]

Не может быть выбранным то, чего не видно. А при скроллинге до последней строки текущая может уйти за пределы видимости.


 
WhiteCat   (2006-07-24 12:49) [11]

to Desdechado
 т.е. сделать скролинг, подобный Excel с помощью DBGrid невозможно?


 
Плохиш ©   (2006-07-24 12:52) [12]


> WhiteCat   (24.07.06 12:49) [11]
> to Desdechado
>  т.е. сделать скролинг, подобный Excel с помощью DBGrid
> невозможно?

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


 
WhiteCat   (2006-07-24 15:46) [13]

to KilkennyCat
Так что Кот из киллкенни, привет тебе от белого брата. Ничего не поможет, даже наследование с полиморфизмом.

Всем спасибо.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.08.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.044 c
15-1152807930
Nic
2006-07-13 20:25
2006.08.13
Меня можно поздравить


15-1153287680
KygECHuK
2006-07-19 09:41
2006.08.13
Где найти словар?


15-1152829698
Light
2006-07-14 02:28
2006.08.13
Форд - Беллман


3-1149165477
prisoner849
2006-06-01 16:37
2006.08.13
Формирование ConnectionString при старте программы


15-1153304180
cosinus
2006-07-19 14:16
2006.08.13
Создание "спутникообразного" меню... Вопросы.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский