Текущий архив: 2008.03.23;
Скачать: CL | DM;
Вниз
Изменения отображения в DBGrid Найти похожие ветки
← →
DiX © (2007-10-25 22:43) [0]Имеется таблица, в ней имеется столбец time, в котором указывается время. Мне при отображении таблицы нужно прибавлять/отнимать от этого времени определённое кол-во часов, но чтобы сама таблица при этом не менялась. Также есть столбец date, в котором указывается дата. Нужно, чтобы при прибавлении/отнимании времени также менялась при необходимости дата( к примеру у нас поле time содержит 21:45 и необходимо прибавить 5 часов, тогда время станет соответственно 01:45 и к дате должен добавиться 1 день). Подскажите, пожалуйста, как такое реализовать?
← →
sniknik © (2007-10-25 23:02) [1]> Подскажите, пожалуйста, как такое реализовать?
легко... (как бы сделал я), вместо столбца time и date делаем 1 столбец datetime и второй модификатор (что прибавляется/отнимается) того же типа. делаем ... и не показываем их! (в гриде убираем колонки), вместо них показываем два вычисляемых поля, соответственно date и time, значения которых легко расчитать - для date это "дата от суммы datetime и модификатора", для time соответственно время от того же самого... все.
функции для работы с датами есть в модуле "датеутилс".
← →
DiX © (2007-10-26 00:28) [2]Дело в том, что нужно сделать так, как написано: отдельно столбец date и отдельно столбец time
← →
Германн © (2007-10-26 01:37) [3]
> DiX © (26.10.07 00:28) [2]
>
> Дело в том, что нужно сделать так, как написано: отдельно
> столбец date и отдельно столбец time
>
Ну и. Чем не устраивает [1]? Там именно "отдельно столбец date и отдельно столбец time".
← →
DiX © (2007-10-26 08:12) [4]
> столбца time и date делаем 1
а я не могу мнять исходную таблицу
← →
Sergey13 © (2007-10-26 08:25) [5]> [4] DiX © (26.10.07 08:12)
> а я не могу мнять исходную таблицу
Ну и не меняй. Это не принципиально, просто sniknik подсказал тебе как это принято делать в лучших домах Парижа и Лондона.
Главное в его совете
> вместо них показываем два вычисляемых поля
Вот от этого и пляши.
← →
sniknik © (2007-10-26 08:29) [6]> а я не могу мнять исходную таблицу
CDS? чисто клиентский рекордсет, и нельзя менять?... нда.
ну делай/меняй тогда в копии рекордсета, создай его в памяти с обсужденной структурой скопируй данные в копию (минимум изменений, слить два поля в одно) и отображай уже копию.
← →
sniknik © (2007-10-26 08:32) [7]> Главное в его совете
а поле модификатор? как без него соблюсти условие, что изменяемые данные не должны изменятся?
хотя, если делать в копии рекордсета то оригинал и без модификатора будет неизменен...
← →
Sergey13 © (2007-10-26 09:00) [8]> [7] sniknik © (26.10.07 08:32)
> а поле модификатор
Как я понял в вопросе все даты/времена меняются на какую то одинаковую величину, которая может варьироваться пользователем. Если дельта времени разная для каждой записи, то разумеется эта дельта должна храниться в записи, если она одинаковая, то нужды в этом нет.
← →
sniknik © (2007-10-26 09:06) [9]> Как я понял в вопросе все даты/времена меняются на какую то одинаковую величину
а, ну если так то действительно. а то я думал, что приденные цифры это только пример, и только для одной записи, в другой будут другие.
← →
Правильный_Вася (2007-10-26 11:10) [10]Field.OnGetText
← →
DiX © (2007-10-26 16:11) [11]Дельта одна для всей таблицы. В таблице содержится время в GMT 0, а у пользователя должно добавляться/отниматься необходимое время в зависимости от выбранного GMT
← →
DiX © (2007-10-29 00:53) [12]Ну так, кто-то может ответить?
← →
Германн © (2007-10-29 01:06) [13]
> DiX © (29.10.07 00:53) [12]
>
> Ну так, кто-то может ответить?
>
Так ответили уже. Или код за тебя написАть?
← →
DiX © (2007-10-29 21:09) [14]
Field.OnGetText
А как это применить и где?
← →
Германн © (2007-10-30 01:19) [15]
> DiX © (29.10.07 21:09) [14]
>
> Field.OnGetText
>
> А как это применить и где?
>
Почитай справку по OnGetText. (Если ты конечно не "земляк" Р.Абрамовича" :)
И вообще. Уже более 4-х суток идёт обсуждение твоего вопроса, а от тебя не поступило ни одной строки кода, который бы показывал, что ты хоть что-то сам делаешь или пытаешься сделать!
Одно из двух. Либо ты "учишься плавать по учебнику", либо [13].
Первое слишком глупо в данном случае, второе из разряда "подайте христаради".
Страницы: 1 вся ветка
Текущий архив: 2008.03.23;
Скачать: CL | DM;
Память: 0.5 MB
Время: 0.019 c