Поместить в ячейки грида другой компонент, фильтр данных

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

sergey-911
Постоялец
Постоялец
 
Сообщения: 545
Зарегистрирован: 17.01.2005 (Пн) 19:10

Поместить в ячейки грида другой компонент, фильтр данных

Сообщение sergey-911 » 12.09.2008 (Пт) 13:09

Доброго времени суток уважаемые. Поздравляю Вас с профессиональным праздником. :D
Разрабатываю универсальный фильтр для извлечения необходимых данных в таблицу из базы данных. Назовем “Таблица1”. Интерфейс делаю в виде таблицы с полями:
1) Поле в таблице;
2) Условие поиска;
3) Текст поиска1;
4) Текст поиска2;
5) Совпадение.
Назовем “Таблица2”.
1) Столбец “Поле в таблице” таблицы2 содержит список всех заголовков полей из таблицы1, где и осуществляется поиск.
2) Столбец “ Условие поиска ” таблицы2 содержит возможную логику поиска (выбираемую пользователем из комбобокса), в зависимости от типа данных столбца таблицы1:
"равно" (для всех типов данных);
"не равно" (для всех типов данных);
"между" (для типов данных – числового, даты);
"больше" (для типов данных – числового, даты);
"больше или равно" (для типов данных – числового, даты);
"меньше" (для типов данных – числового, даты);
"меньше или равно" (для типов данных – числового, даты);
"начинается с" (для типов данных – текст);
"заканчивается на" (для типов данных – текст);
"включает" (для типов данных – текст);
"пустые" (для всех типов данных);
"не пустые" (для всех типов данных).
3, 4) В ячейки столбцов "Текст поиска1” и "Текст поиска2” пользователь вводит данные, которые нужно найти, в зависимости от типа данных и условия поиска.
5) Столбец “Совпадение” содержит условия отбора:
“искать это И это”;
“искать это ИЛИ это”.
В аттаче прикреплен пример с фильтром. Чтобы не перегружать пример, в нем нет “Таблицы1”, с данными из БД, а только форма с фильтром.
1) Столбец “Поле в таблице” фильтра содержит 15 вероятных названий полей таблицы1:
"Заголовок" & i & " таблицы 1", где i от 1 до 15.
2) В столбце “Условие поиска” везде по умолчанию написано "равно".

А теперь вопрос: :(
Как можно ограничить пользователю ввод данных? Т.е. по сути поместить в ячейки столбцов “Условие поиска” и “Совпадение” таблицы2 комбобоксы с нужными значениями. А также в ячейки столбцов “Текст поиска1” и “Текст поиска2” поместить другие компоненты, в зависимости от типа искомых данных в Таблице1 (компонент для ввода чисел, даты и т.п.).

Таблица2 заполняется через “отвязный” DftaSet.
P.S. Буду признателен также за возможные альтернативные варианты интерфейса.
Вложения
MyFiltr.rar
Пример с фильтром
(58.28 Кб) Скачиваний: 42
С уважением, Сергей.

sergey-911
Постоялец
Постоялец
 
Сообщения: 545
Зарегистрирован: 17.01.2005 (Пн) 19:10

Re: Поместить в ячейки грида другой компонент, фильтр данных

Сообщение sergey-911 » 15.09.2008 (Пн) 12:11

В статье журнала RSDN Magazine #2-2006 приведен подобный пример, но, на Си. Применить относительно своей задачи я не смог. Си я не знаю. Может у вас получится? Но все-равно, рекомендую обратиться к данному ресурсу. Много позновательного! Тема - не закрыта. Жду вашей помощи! :(
С уважением, Сергей.

dart
Начинающий
Начинающий
 
Сообщения: 12
Зарегистрирован: 04.09.2008 (Чт) 3:27

Re: Поместить в ячейки грида другой компонент, фильтр данных

Сообщение dart » 17.09.2008 (Ср) 10:54

http://msdn.microsoft.com/en-us/library/7tas5c80.aspx

тут и на бейсике есть...... почитай, мож поможет.... мне помогло.

sergey-911
Постоялец
Постоялец
 
Сообщения: 545
Зарегистрирован: 17.01.2005 (Пн) 19:10

Re: Поместить в ячейки грида другой компонент, фильтр данных

Сообщение sergey-911 » 17.09.2008 (Ср) 17:14

Спасибо dart, очень познавательно.
А можно ли поместить контрол в конкретную ячейку, в зависимости от условия, а не присвоить его всему столбцу?
С уважением, Сергей.


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 90

    TopList  
cron