Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.03.28;
Скачать: CL | DM;

Вниз

Как сделать перемещие по группам в 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.014 c
15-1263072625
Юрий
2010-01-10 00:30
2010.03.28
С днем рождения ! 10 января 2010 воскресенье


3-1237289266
Yurikon
2009-03-17 14:27
2010.03.28
Количество записей в TADOTable


1-1246429266
Василий Иванов_22
2009-07-01 10:21
2010.03.28
меню в ресурсе


15-1262726157
Jeer
2010-01-06 00:15
2010.03.28
Календарное светопреставление


1-1246381367
Чайник
2009-06-30 21:02
2010.03.28
Delphi 2009 - запись с вариантной частью