![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как добавить в DataSet колонку не связанную с данными для временн
sergvc © (2004-07-19 18:34:00)Уважаемые мастера! подскажите как добавить в DataSet колонку не связанную с данными для временного ввода чисел в гриде?
sergvc (2004-07-20 13:55:00) [1]>> например пользователь в конце каждой строки указывает
>> необходимое количество для распечатки. Это количество
>> не должно сохраняться.
>а что разве при распечатке нельзя это сделать? или это 1 >указывает, а печатает другой?
Если в документе 20 строчек, то наверное легче пройти в гриде и проставить сразу нужное количество для печати, ведь так сразу видно и наименование, и кол-во и другие параметры документа.
Соловьев (2004-07-20 10:34:00) [2]
> например пользователь в конце каждой строки указывает
> необходимое количество для распечатки. Это количество
> не должно сохраняться.
а что разве при распечатке нельзя это сделать? или это 1 указывает, а печатает другой?
sergvc (2004-07-20 10:32:00) [3]Да TClientDataSet- это вариант. Спасибо.
AlexeiR (2004-07-19 21:41:00) [4]А насчет "оправдания безобразию": как например иначе сделать из одного поля "Дата" 2 поля - "Дата" и "время", чтобы каждое пользователь мог редактировать, а потом при сохранении изменений они опять объединялись в одно?
А еще бывает, что поле сложно рассчитывается, и запихивать это дело в вычисляемое нецелесообразно, а делать это надо на клиенте, так как обновление двухфазное.
Вот и приходится применять такие поля.
AlexeiR (2004-07-19 21:34:00) [5]Это поле действительно нельзя редактировать, если доступ через ADO. Я сначала темный был, и завел себе таблицу в базе с одной строкой, из которой и брал такие поля разных типов, а потом никуда не сохранял. Некрасиво, но работает. Вот только применение изменений надо тогда делать хитро - я использовал компонент ADOUpdateSQL из VGLib2, вручную SQL генерил. Библиотека платная, поэтому потом отказался и сам писал такой компонент.
Сейчас повсеместно использую TClientDataSet-ы, а там это просто - ставишь на поле fkInternalCalc. ProviderFlags - пустое. В ADODataSet это поле не присутствует. И все.
sergvc (2004-07-19 18:54:00) [6]>Нужно включать CachedUpdates.
>Иначе куда бедному движку делать Post?
В том-то и дело, что на все остальные колонки редактируемая информация сохраняется сразу в базе,как обычно, а именно в последней колонке числа хранятся только в момент существования DataSet.
sergvc (2004-07-19 18:50:00) [7]Компоненты доступа - TADODataSet, TDataSource, TDBGridEh на SQL Server
Reindeer Moss Eater (2004-07-19 18:46:00) [8]Нужно включать CachedUpdates.
Иначе куда бедному движку делать Post?
Vlad (2004-07-19 18:45:00) [9]
> sergvc (19.07.04 18:44) [3]
> я почему-то не могу редактировать колонку Dummy
компоненты доступа ?
Reindeer Moss Eater (2004-07-19 18:45:00) [10]Спасибо, совет действительно дельный, однако в этом случае я почему-то не могу редактировать колонку Dummy.
наверное потому, что и остальные не можешь
sergvc (2004-07-19 18:44:00) [11]>И какое оправдание этому безобразию может быть придумано?
например пользователь в конце каждой строки указывает необходимое количество для распечатки. Это количество не должно сохраняться.
>А что мешает в SQL запросе ввести доп. поле ?
>Select t.*, 0 as Dummy from Table t
Спасибо, совет действительно дельный, однако в этом случае я почему-то не могу редактировать колонку Dummy.
Vlad (2004-07-19 18:38:00) [12]
> sergvc (19.07.04 18:34)
> как добавить в DataSet колонку не связанную с данными
никак.
> для временного ввода чисел в гриде?
А что мешает в SQL запросе ввести доп. поле ?
Select t.*, 0 as Dummy from Table t
Reindeer Moss Eater (2004-07-19 18:36:00) [13]И какое оправдание этому безобразию может быть придумано?