Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Вопрос по grid  [new]
НадеждаМ
Member

Откуда:
Сообщений: 812
Снова здравствуйте.

Есть грид, в котором отображаются записи из таблицы. При добавлении новой записи в таблицу сначала добавляется пустая строка в конец таблицы. Возник вопрос, можно ли как-то добавлять записи не в конец таблицы, а в указанное место, как в экселе, вставить строки над активной например или после нее?
11 мар 10, 14:35    [8462222]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по grid  [new]
проходящий.
Guest
НадеждаМ
Снова здравствуйте.

Есть грид, в котором отображаются записи из таблицы. При добавлении новой записи в таблицу сначала добавляется пустая строка в конец таблицы. Возник вопрос, можно ли как-то добавлять записи не в конец таблицы, а в указанное место, как в экселе, вставить строки над активной например или после нее?
Не надо путать базу данных и электронную таблицу. Вот в экселе и вставляйте в произвольное место. А в базах данных добавление идет всегда в конец таблицы, а порядок отображения записей определяется индексом или предложением order by.
11 мар 10, 14:39    [8462258]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по grid  [new]
AmKad
Member

Откуда:
Сообщений: 5222
НадеждаМ,

Нет, можно поменять сортировку.
11 мар 10, 14:39    [8462261]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по grid  [new]
НадеждаМ
Member

Откуда:
Сообщений: 812
Значит пользователи обломаются
11 мар 10, 14:50    [8462365]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по grid  [new]
Dag
Member

Откуда:
Сообщений: 842
Нельзя, но если очень хочется-то можно.
INSERT BLANK
Индексные файлы должны отсутствовать.

Идеологически более верный путь - после добавления записи, программно заполнять поля от которых зависит сортировка-тогда запись добавленная в конец таблицы, отрисуется в требуемом месте грида.
11 мар 10, 15:20    [8462647]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по grid  [new]
Ffffffffffffffff
Guest
НадеждаМ
Значит пользователи обломаются


Так вставляйте и в конец и пересортировывайте.
11 мар 10, 15:45    [8462902]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по grid  [new]
НадеждаМ
Member

Откуда:
Сообщений: 812
Ffffffffffffffff
НадеждаМ
Значит пользователи обломаются


Так вставляйте и в конец и пересортировывайте.


Долго будет. Не один десяток записей в таблице.
11 мар 10, 18:00    [8464130]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по grid  [new]
igorbik
Member

Откуда: Мск
Сообщений: 578
НадеждаМ
Ffffffffffffffff
НадеждаМ
Значит пользователи обломаются


Так вставляйте и в конец и пересортировывайте.


Долго будет. Не один десяток записей в таблице.


По команде INSERT перезаписываться будет вся таблица и все сопутствующие файлы, в том числе индексный.
А если как обычно, то перезапишется только индексный, который на порядок (или несколько) меньше таблицы.
11 мар 10, 18:19    [8464268]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по grid  [new]
Ffffffffffffffff
Guest
НадеждаМ
Ffffffffffffffff
НадеждаМ
Значит пользователи обломаются


Так вставляйте и в конец и пересортировывайте.


Долго будет. Не один десяток записей в таблице.


Не один десяток пересортировывается долю секунды.
11 мар 10, 18:35    [8464349]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по grid  [new]
НадеждаМ
Member

Откуда:
Сообщений: 812
Ffffffffffffffff
НадеждаМ
Ffffffffffffffff
НадеждаМ
Значит пользователи обломаются


Так вставляйте и в конец и пересортировывайте.


Долго будет. Не один десяток записей в таблице.


Не один десяток пересортировывается долю секунды.


я конечно же попробую обязательно.
11 мар 10, 19:05    [8464501]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по grid  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7864
НадеждаМ
Есть грид, в котором отображаются записи из таблицы. При добавлении новой записи в таблицу сначала добавляется пустая строка в конец таблицы. Возник вопрос, можно ли как-то добавлять записи не в конец таблицы, а в указанное место, как в экселе, вставить строки над активной например или после нее?

Если задать значение по умолчанию для того поля или полей по которым построен активный индекс.

Ну, например, таблица в Grid отображается под управлением активного индекса по полю F1, где указана, скажем, фамилии. Тогда создавайте новую запись сразу записав в поле F1 фамилию из текущей записи. В результате, запись будет вставлена под текущей.

Можно реализовать эту идею через какое-нибудь скрытое служебное поле. Но это имеет смысл, если Вы используете выборки, а не напрямую отображаете таблицы DBF в Grid.
11 мар 10, 20:09    [8464781]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по grid  [new]
reware
Member

Откуда: Хабаровск
Сообщений: 585
Можно ничего не пересортировывать и не индексировать. Достигается примитивным приемом -

1) Вставить запись перед текущей : копируем все записи, начиная с текущей, во временную таблицу или курсор, после чего удаляем эти скопированные записи (помечаем на удаление) из текущей таблицы. Вставляем в таблицу пустую запись. Добавляем в таблицу скопированные ранее записи из временной таблицы (или курсора).
2) Вставить запись после текущей (не последней) : допустим, номер текущей записи=N. Копируем все записи, начиная с N+1, во временную таблицу или курсор, после чего удаляем эти скопированные записи (помечаем на удаление) из текущей таблицы. Вставляем в таблицу пустую запись. Добавляем в таблицу скопированные ранее записи из временной таблицы (или курсора).

Ясно, что это имеет смысл при определенных ограничениях.
12 мар 10, 04:29    [8465986]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить