![]() |
|
|
![]()
|
|
| Delphist |
|
||||
![]() Delphist Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2145 Регистрация: 3.2.2004 Где: всегда в сети Репутация: 1 Всего: 3 |
Есть DBGridEh, который через DataSource подключается к FIBDataSet. Встала следующая задача, как сделать так, чтобы запись с определенным ID не отображалась в гриде, при это не удаляя ее из DataSeta.
Хотел было применить фильтр
после чего в гриде эта запись пропала, но она же пропала и из этого DataSet'a, т.е.
возвращал False, а нужно чтобы запись исчезала только из грида. Как это сделать? Это сообщение отредактировал(а) Delphist - 17.9.2008, 12:21 -------------------- ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др). Когда-то давным-давно использовал это... |
||||
|
|||||
| Frees |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: 23 Всего: 54 |
FIBDataSet.Filter := 'ROW_ID<>'+IntToStr(signID);
FIBDataSet.Filtered := true; записей видно не будет но локейт будет работать -------------------- Кольцов Виктор Владимирович |
|||
|
||||
| Delphist |
|
|||
![]() Delphist Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2145 Регистрация: 3.2.2004 Где: всегда в сети Репутация: 1 Всего: 3 |
Попробовал, один фиг отображается Это сообщение отредактировал(а) Delphist - 17.9.2008, 13:52 -------------------- ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др). Когда-то давным-давно использовал это... |
|||
|
||||
| Deniz |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 8 Всего: 44 |
Delphist, поскольку Grid показывает все записи, которые есть в DataSet'е, то фильтры DataSet'а врядли подойдут.
Есть несколько вариантов: 1. Модифицировать DataSet. 2. Модифицировать Grid, сделать что-то вроде фильтров, т.е. например при прорисовке строки. 3. Добавить еще один DataSet и туда перекачивать данные для отображения. 4. Делать Locate не по текущему DataSet'у а через select. При большом кол-ве записей 3 вариант может сильно притормозить работу. При варианте 4 учесть работу с транзакциями, т.е. DataSet и select должны работать в транзакции SnapShot. -------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
|||
|
||||
| pseud |
|
||||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 16 Всего: 40 |
Delphist,
на форме:
все делаю в дизайн-моде
метод хорош тем, что не производится еще одного запроса в БД (я_так_думаю) -------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
||||
|
|||||
| pseud |
|
|||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 16 Всего: 40 |
спорная конструкция. сам таким никогда не пользовался. сочинил на ходу.
-------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
|||
|
||||
| Delphist |
|
|||
![]() Delphist Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2145 Регистрация: 3.2.2004 Где: всегда в сети Репутация: 1 Всего: 3 |
У меня такой вопрос, например, в Query1.UpdateSQL у меня будет стоять запрос на обновление БД, тогда если бы к DBGrid2 подключался бы Query1 т.е. Query1 <- DataSource1 <- DBGrid2, то при модифакации какой-либо ячейки в гриде срабатывал бы автоматом Query1.UpdateSQL, возникает вопрос будет ли срабатывать Query1.UpdateSQL (а также Query1.InsertSQL, Query1.DeleteSQL при вставке и удалении), если к DBGrid2 Query1 подключен через провайдера (через твой механизм) Это сообщение отредактировал(а) Delphist - 19.9.2008, 09:23 -------------------- ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др). Когда-то давным-давно использовал это... |
|||
|
||||
| pseud |
|
|||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 16 Всего: 40 |
Надо сооружать example. Слету сказать сложно. -------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
|||
|
||||
| Delphist |
|
|||
![]() Delphist Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2145 Регистрация: 3.2.2004 Где: всегда в сети Репутация: 1 Всего: 3 |
Если кто проверить, сообщите о результатах -------------------- ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др). Когда-то давным-давно использовал это... |
|||
|
||||
| pseud |
|
|||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 16 Всего: 40 |
по-моему, в этом деле самый заинтересованный человек - ты -------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
|||
|
||||
| Delphist |
|
|||
![]() Delphist Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2145 Регистрация: 3.2.2004 Где: всегда в сети Репутация: 1 Всего: 3 |
Просто ща нет возможности проверить -------------------- ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др). Когда-то давным-давно использовал это... |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
Ну как появится, то проверь.
Добавлено через 1 минуту и 21 секунду Delphist, событие FilterRecord срабатывает только когда ставишь dataset.filtered в True Добавлено через 3 минуты это ты в дизайне прописал, так? А теперь, чтобы этот код сработал просто вызывай код
|
|||
|
||||
| Delphist |
|
||||||
![]() Delphist Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2145 Регистрация: 3.2.2004 Где: всегда в сети Репутация: 1 Всего: 3 |
С чего начинал к тому и пришли. Повтору еще раз, если я применяю фильтр (Filtered = True)
то в результате из грида эта запись пропадает, но она же пропадает и из этого DataSet'a, т.е.
возвращает False, а нужно чтобы запись исчезала только из грида. Как это сделать? -------------------- ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др). Когда-то давным-давно использовал это... |
||||||
|
|||||||
| Delphist |
|
|||
![]() Delphist Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2145 Регистрация: 3.2.2004 Где: всегда в сети Репутация: 1 Всего: 3 |
Если делать все как ты написал, то вообще ни одна запись не выводиться -------------------- ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др). Когда-то давным-давно использовал это... |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
||||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |