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

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

ручная установка флага состояния записи в ClientDataSet [D7, FB1.52]


Вольный Стрелок ©   (2005-05-13 17:59:00) 

Проблема такая. Например, в CDS есть 1 запись. Я добавляю еще одну. А потом меняю их содержимое местами. Рассуждая логически, новые данные содержатся в первой записи, а старые во второй. Но в CDS сохряняется признак, что первая запись - редактированная, а вторая - новая, хотя с точки зрения данных как раз наоборот.
Вопрос: как вместе с обменом содержимым записей обменять и их "состояния"?


ЮЮ   (2005-05-17 03:03:00) [1]

>что я и делаю swap'ом содержимого записей.

swap-ить только поле "номер" и переупорядочмвать

>Ведь при добавлении строки в набор я еще не знаю, каким номером она пойдет

Тогда логичнее не Append-ить запись, а Insert-ить вслед за текущей, устанавлиывя "номер" на 1 больше, чем в текущей и увеличивая у последующих


Вольный Стрелок   (2005-05-16 13:17:00) [2]

О физическом порядке я тоже не говорил. Я говорил о порядке, который пользователь хочет получить при отображении. Я это и реализовал специальным полем номера. Но как сделать так, чтобы при изменении порядка (я записи в этом поле перенумеровываю) все-таки сабж устанавливать? Или это можно по-другому сделать?
Ведь при добавлении строки в набор я еще не знаю, каким номером она пойдет. И пользователь не хочет вводить номера для отображения - ему проще их визуально расставить, что я и делаю swap'ом содержимого записей.


Anatoly Podgoretsky   (2005-05-16 12:04:00) [3]

Говорить о физическом порядке неприлично.
Нужен порядок значить нужно поле Порядок.
Остальное ламерское.


Вольный Стрелок   (2005-05-16 11:58:00) [4]

Прав-то он прав, но нужно именно так, как я написал. И не надо говорить, что это нелепо. Все зависит от задачи.
В моей задаче пользователь может добавить записи в набор, а потом переставить их ПО СВОЕМУ УСМОТРЕНИЮ, т.к. ему важен их порядок. Как в таком случае организовать сортировку, если не ясно, по какому принципу пользователь их расставляет?
О detail-таблицах речи не идет.


ЮЮ   (2005-05-16 03:23:00) [5]

>Но в CDS сохряняется признак, что первая запись - редактированная, а вторая - новая, хотя с точки зрения данных как раз наоборот

С точки зрения записей - CDS прав, а рассматривать с точки зрения данных - нелепо, как и нелепо таким образом "переставлять" строки. Для упорядочмвания записей используеися сортировка, а не полное искажение данных. А если у таблицы будет detail-таблица, то такие "махинации" вообще не прокатят


Вольный Стрелок   (2005-05-15 17:57:00) [6]

up


Вольный Стрелок   (2005-05-13 22:10:00) [7]

Считываю в буфер 1 и 2, затем записываю в наоборот.


-=XP=-   (2005-05-13 18:02:00) [8]

А потом меняю их содержимое местами

Каким образом?


Наверх

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