![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Изменения отображения в 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 соответственно время от того же самого... все.
функции для работы с датами есть в модуле "датеутилс".