Reza Ahmadi Ответов: 1

Фильтрация данных с помощью элемента управления Janus FilterEditor


Привет ребята,
Я использую элементы управления Janus 3.0(это довольно старая версия, но компания настаивает на использовании этой версии) в приложении на базе win для создания пользовательского интерфейса в приложении. Я вижу жучок в окне. Фильтродитор контроль и вот вся история ( я предполагаю, что вы знаете, как это работает в основном):

У меня есть элемент управления FilterEditor для создания фильтра, который привязан к сетке. Он отлично работает и фильтрует сетку в соответствии с выбранным полем и введенным в него значением. Однако, когда я выбираю оператор ,а именно Contains, который является допустимым оператором для строкового типа, он(Contains) появится для Int, DateTime или любого другого типа данных, который будет выбран!

Вот некоторый код для очистки, этот код будет работать, когда другое поле будет выбрано для фильтрации на основе этого, я имею в виду, когда мы выбираем FirstName, а затем меняем его на LastName и т. д.

private void filterEditor1_FilterConditionChanged(object sender, EventArgs e)
       {
           var dataType = filterEditor1.FilterCondition.Field.DataTypeCode.ToString();
           if (dataType == typeof(string).Name)
           {
               filterEditor1.AvailableConditionOperators =
                   Windows.FilterEditor.AvailableConditionOperators.Contains
                   | Windows.FilterEditor.AvailableConditionOperators.NotContains
                   | Windows.FilterEditor.AvailableConditionOperators.BeginsWith
                   | Windows.FilterEditor.AvailableConditionOperators.EndsWith;
           }
           if (dataType == typeof(int).Name)
           {
               filterEditor1.AvailableConditionOperators =
                   Windows.FilterEditor.AvailableConditionOperators.GreaterThan
                   | Windows.FilterEditor.AvailableConditionOperators.LessThan;
           }
           if (dataType == typeof(DateTime).Name)
           {
               filterEditor1.AvailableConditionOperators =
                   Windows.FilterEditor.AvailableConditionOperators.Between;
           }

           filterEditor1.Update();
           Janus.Data.IJanusTable IJanusTable = filterEditor1.Table;
       }



Спасибо за вашу помощь,
Резы

1 Ответов

Рейтинг:
8

Dave Kreskowiak

Почему вы публикуете это здесь?? Почему бы не найти более подходящее место, например, форумы разработчиков на сайте Януса?? Ссылка для перехода находится в левом нижнем углу их домашней страницы.


Reza Ahmadi

Не могли бы вы разместить ссылку, я ее не нашел

Dave Kreskowiak

Ты что, издеваешься?? Вы не могли бы ввести "Janus controls" в Google??

http://www.janusys.com/controls/

Reza Ahmadi

Вообще-то нет! мы, программисты, иногда(!) ленивы! Я сообщил об ошибке его программистам. В любом случае спасибо

Овации

Reza Ahmadi

Мои 5!