Фильтрация данных с помощью элемента управления 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; }
Спасибо за вашу помощь,
Резы