Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Изменения отображения в DBGrid [D7, CDS]


DiX ©   (2007-10-25 22:43:00) 

Имеется таблица, в ней имеется столбец time, в котором указывается время. Мне при отображении таблицы нужно прибавлять/отнимать от этого времени определённое кол-во часов, но чтобы сама таблица при этом не менялась. Также есть столбец date, в котором указывается дата. Нужно, чтобы при прибавлении/отнимании времени также менялась при необходимости дата( к примеру у нас поле time содержит 21:45 и необходимо прибавить 5 часов, тогда время станет соответственно 01:45 и к дате должен добавиться 1 день). Подскажите, пожалуйста, как такое реализовать?


Германн   (2007-10-30 01:19:00) [1]


> DiX ©   (29.10.07 21:09) [14]
>
> Field.OnGetText
>
> А как это применить и где?
>

Почитай справку по OnGetText. (Если ты конечно не "земляк" Р.Абрамовича" :)
И вообще. Уже более 4-х суток идёт обсуждение твоего вопроса, а от тебя не поступило ни одной строки кода, который бы показывал, что ты хоть что-то сам делаешь или пытаешься сделать!
Одно из двух. Либо ты "учишься плавать по учебнику", либо [13].
Первое слишком глупо в данном случае, второе из разряда "подайте христаради".


DiX   (2007-10-29 21:09:00) [2]

Field.OnGetText

А как это применить и где?


Германн   (2007-10-29 01:06:00) [3]


> DiX ©   (29.10.07 00:53) [12]
>
> Ну так, кто-то может ответить?
>

Так ответили уже. Или код за тебя написАть?


DiX   (2007-10-29 00:53:00) [4]

Ну так, кто-то может ответить?


DiX   (2007-10-26 16:11:00) [5]

Дельта одна для всей таблицы. В таблице содержится время в GMT 0, а у пользователя должно добавляться/отниматься необходимое время в зависимости от выбранного GMT


Правильный_Вася   (2007-10-26 11:10:00) [6]

Field.OnGetText


sniknik   (2007-10-26 09:06:00) [7]

> Как я понял в вопросе все даты/времена меняются на какую то одинаковую величину
а, ну если так то действительно. а то я думал, что приденные цифры это только пример, и только для одной записи, в другой будут другие.


Sergey13   (2007-10-26 09:00:00) [8]

> [7] sniknik ©   (26.10.07 08:32)
> а поле модификатор

Как я понял в вопросе все даты/времена меняются на какую то одинаковую величину, которая может варьироваться пользователем. Если дельта времени разная для каждой записи, то разумеется эта дельта должна храниться в записи, если она одинаковая, то нужды в этом нет.


sniknik   (2007-10-26 08:32:00) [9]

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


sniknik   (2007-10-26 08:29:00) [10]

> а я не могу мнять исходную таблицу
CDS? чисто клиентский рекордсет, и нельзя менять?... нда.
ну делай/меняй тогда в копии рекордсета, создай его в памяти с обсужденной структурой скопируй данные в копию (минимум изменений, слить два поля в одно) и отображай уже копию.


Sergey13   (2007-10-26 08:25:00) [11]

> [4] DiX ©   (26.10.07 08:12)
> а я не могу мнять исходную таблицу

Ну и не меняй. Это не принципиально, просто sniknik подсказал тебе как это принято делать в лучших домах Парижа и Лондона.
Главное в его совете
> вместо них показываем два вычисляемых поля
Вот от этого и пляши.


DiX   (2007-10-26 08:12:00) [12]


> столбца time и date делаем 1

а я не могу мнять исходную таблицу


Германн   (2007-10-26 01:37:00) [13]


> DiX ©   (26.10.07 00:28) [2]
>
> Дело в том, что нужно сделать так, как написано: отдельно
> столбец date и отдельно столбец time
>

Ну и. Чем не устраивает [1]? Там именно "отдельно столбец date и отдельно столбец time".


DiX   (2007-10-26 00:28:00) [14]

Дело в том, что нужно сделать так, как написано: отдельно столбец date и отдельно столбец time


sniknik   (2007-10-25 23:02:00) [15]

> Подскажите, пожалуйста, как такое реализовать?
легко... (как бы сделал я), вместо столбца time и date делаем 1 столбец datetime и второй модификатор (что прибавляется/отнимается) того же типа. делаем ... и не показываем их! (в гриде убираем колонки), вместо них показываем два вычисляемых поля, соответственно date и time, значения которых легко расчитать - для date это "дата от суммы datetime и модификатора", для time соответственно время от того же самого... все.
функции для работы с датами есть в модуле "датеутилс".


Наверх

Титульная страница Поиск, карта сайта Написать письмо