Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];

Вниз

ручная установка флага состояния записи в ClientDataSet   Найти похожие ветки 

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

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


 
-=XP=- ©   (2005-05-13 18:02) [1]

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

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


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

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


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

up


 
ЮЮ ©   (2005-05-16 03:23) [4]

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

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


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

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


 
Anatoly Podgoretsky ©   (2005-05-16 12:04) [6]

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


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

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


 
ЮЮ ©   (2005-05-17 03:03) [8]

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

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

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

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



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.038 c
14-1117961730
lifo
2005-06-05 12:55
2005.06.29
Проблема с принтером


1-1117877764
Anatoly Podgoretsky
2005-06-04 13:36
2005.06.29
Занимательные наблюдения над плавающей запятой


6-1111756038
hexen
2005-03-25 16:07
2005.06.29
Как заполнить поля открытой формы WB


1-1118311597
rtyui
2005-06-09 14:06
2005.06.29
DateEdit1.Date<>0


8-1110281448
Vir_
2005-03-08 14:30
2005.06.29
Вывод текста в OpenGL





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский