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

Вниз

Как сделать перемещие по группам в DBGrid?   Найти похожие ветки 

 
Unior   (2010-01-23 16:01) [0]

В DBGrid выводится информация из нескольких полей, первый из которых - Дата, по этому-же полю происходит сортировка. Как сделать чтобы по нажатию на кнопки "\/" или "/\" пользователь мог перемещаться не на одну строчку вниз/вверх, а сразу на ту, в которой будет следующее значение даты по убывающей/нарастающей?


 
KilkennyCat ©   (2010-01-23 17:05) [1]

найти следующую\предыдущую дату и установить найденную запись текущей.


 
turbouser ©   (2010-01-23 17:05) [2]

Как-то так
var d:TDateTime;
with DataSet do
begin
 DisableControls;
 try
 d:=Fields[0].AsDateTime
 next; {или prior, в зависимости от кнопки}
 while not Eof do
 begin
   if d<>Fields[0].AsDateTime then
    Break;
   next; {или prior, в зависимости от кнопки}  
 end;
 finally
   EnableControls;
 end;
end;


 
turbouser ©   (2010-01-23 17:06) [3]

while not Bof do если /\
:)


 
Unior   (2010-01-23 17:15) [4]

Благодарю, turbouser!


 
Плохиш ©   (2010-01-23 18:59) [5]


>  next; {или prior, в зависимости от кнопки}
>  while not Eof do
>  begin
>    if d<>Fields[0].AsDateTime then
>     Break;
>    next; {или prior, в зависимости от кнопки}  
>  end;
>

=

 repeat
    next;
 until (d<>Fields[0].AsDateTime) or Eof;

:-P


 
Unior   (2010-01-23 19:50) [6]

> Плохиш ©   (23.01.10 18:59) [5]
>  repeat
>     next;
>  until (d<>Fields[0].AsDateTime) or Eof;

Хитро! Спасибо!

А не подскажите - как бы доработать этот код, чтобы курсор при перемещении вверх вставал на первую сверху дату (а не снизу)?

> 19.01.2010
  19.01.2010
  19.01.2010 - а не сюда
  20.01.2010


 
turbouser ©   (2010-01-23 20:47) [7]


> Unior   (23.01.10 19:50) [6]

Добавить еще одну проверку. Это домашнее задание ;)


 
Плохиш ©   (2010-01-24 02:04) [8]


> Unior   (23.01.10 19:50) [6]

Программиста надо нанять.



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

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

Наверх




Память: 0.46 MB
Время: 0.004 c
15-1263197619
Неважно
2010-01-11 11:13
2010.03.28
Delphi2010


15-1262873481
anton773
2010-01-07 17:11
2010.03.28
Пожиратель траффика!!!


2-1264342999
Делфиец
2010-01-24 17:23
2010.03.28
Как разом очистить всю таблицу


1-1246863401
WeX
2009-07-06 10:56
2010.03.28
Реализовать систему плагинов


4-1231749793
kalexi
2009-01-12 11:43
2010.03.28
Как узнать место расоложения папки "Автозагрузка"?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский