|
0 / 0 / 0
Регистрация: 19.03.2017
Сообщений: 39
|
|
Как создать фильтр на StringGrid?20.04.2017, 16:41. Показов 7167. Ответов 46
Метки нет (Все метки)
У меня есть таблица в оторой первоначально введене первое поле мне к примеру нужна отфильтровать чтоб показолись дание
(Прізвище, Ім'я, По батькові). Или за статю на премер чтоб отображались все мужские записи или женские. Как ето зделать.
0
|
|
| 20.04.2017, 16:41 | |
|
Ответы с готовыми решениями:
46
Как сделать фильтр для stringgrid Как создать фильтр?
|
|
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
|
|
| 12.05.2017, 15:12 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 19.03.2017
Сообщений: 39
|
|
| 12.05.2017, 16:27 [ТС] | |
|
lifeforce,
0
|
|
|
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
|
||||||||||||||||
| 17.05.2017, 12:29 | ||||||||||||||||
|
ну вот вернулся из путешествия .
продолжаем ![]() Solara, так и есть полно граблей. ![]() при старте программы Unit1 FormMain у тебя используется StringGrid1 как основная база (которую можно редактировать) , и ее нельзя очищать! а у тебя в Unit2 Form2 происходит очищение таблицы
при событии void __fastcall TFormMain::FiltrClick(TObject *Sender) у тебя создается копия базы. но а если не использовать это событие и сразу создать фильтр? данные все исчезнут. Я так понял что твоя задумка все в одном окне. но тогда можно пойти по другому пути. не очищать таблицу а просто скрывать строки таблицы при выборе фильтра.
или же если оставить так как есть то тогда сразу после загрузки базы сохранить копию. потом перед редактированием , или записью базы - надо из резервной копии все копировать в основной стринггрид1. ну а вообще каждый программист перед тем как написать программу , сначала создает блок схему как и что и когда должно происходить и пути решения. и тогда будет программа правильно собрана.
0
|
||||||||||||||||
|
0 / 0 / 0
Регистрация: 19.03.2017
Сообщений: 39
|
|
| 18.05.2017, 22:44 [ТС] | |
|
lifeforce, незнаю у меня не вышло еслы можете поправте в проекте
0
|
|
|
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
|
||||||
| 30.05.2017, 16:40 | ||||||
|
Solara,
Сегодня было свободное время. состряпал и немного отредактировал код. главное что здесь теперь работает - сортировка(фильтр) то что и было в теме. НО! сама программа в хаосе. зачем дублировать функции удаления , создания и очистки базы? если использовать одинаковые функции к разным событиям - тогда и обьедени их. Хаос! расскажу почему: 1-й раз выбор фильтра создает копию стринггрида основной базы в скрытый стриннгрид. потом выбрав любой из фильтров (основной стринггрид обнуляется и остается несколько строк соответствующим фильтру) вот здесь первые грабли - если еще раз нажать на кнопку фильтра , то список фильтра станет меньшим исходя из оставшегося текста в стринггриде основной базы. а скрытый теперь уменьшиться. и если эту операцию повторить еще то в твоей базе не останется ничего! при работе фильтра запрещено редактирование, добавление, удаление, и запись базы(и здесь грабли). для этого тебе надо создать условие при котором если идет работа фильтра и допустим надо ( редактировать, добавить, удалить, или сохранить базу) то скрыть фильтр и восстановить базу из скрытого стринггрида. недостаток такого метода, сменится список и если была строка выбранная для редактирования то все потеряется. Внимательно подумай над алгоритмом программы. к примеру нарисуй на бумаге блок схему и реши все возможные пути поведения программы. вот рабочий фильтр. здесь я ему добавил условия: 1 - запрещение повторного запуска фильтра если он уже используется. 2 - при выходе из фильтра перезапись(восстановление базы) из скрытого стринггрида. вот типа такго и тебе надо придумать с записью, редактированием, добавление новой записи, удаление записи. Добавлено через 4 минуты это код для FormMain
0
|
||||||
|
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
|
||||||
| 30.05.2017, 16:47 | ||||||
|
а вот код для второй формы.
внимание. здесь для всех чекбоксов я создал событие CheckListBoxClick (т.е. все чекбоксы события имеют одно и тоже событие ).
0
|
||||||
|
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
|
|
| 30.05.2017, 16:56 | |
|
Берлин установить на диск F (400 Ggb свободно) не удалось - пишет что нет места?
исходник и работа фильтра.
0
|
|
| 30.05.2017, 16:56 | |
|
Как создать фильтр Excel2007 Как правильно создать фильтр?
Как создать фильтр по нескольким параметрам пример как сайте ecar.kz
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2.
Задача:
Обеспечить запись документа в регистр сведений независимо от. . .
|
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется.
Ну как вам?
|
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания
источниках данных и элементов формы(текстовые поля и метки), опирается все
это на технологию событий и мета. . .
|
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml,
в чате форсили функторы модулей как суперфичу.
Пытаясь отдуплить концепт, наткнулся на тутор с простым примером.
А главный принцип обучения от. . .
|
|
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
|
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
|
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства.
Жизнь действительно предъявляет каждому. . .
|
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
|