Как перейти от фильтрации по дате к строке фильтра
-
12-09-2019 - |
Вопрос
Я пытаюсь использовать DevExpress ASPxGridView для отображения некоторых данных.Мне нужно разрешить моим пользователям фильтровать по определенному столбцу, и я хотел бы разрешить им фильтровать между двумя датами.
Я знаю, что это возможно с использованием панели фильтров, но я хотел бы попробовать сделать это в самой строке фильтра (строка, которая отображается под заголовком), возможно, в виде двух полей выбора даты (комбинация "от" и "до").
Любые идеи, как изменить FilterRow, были бы полезны,
Спасибо
Решение
Просто обновлено для всех, у кого может возникнуть такой же вопрос в будущем:
Придумал, как это сделать:
В вашем DevExpress ASPxGridView добавьте метод события в "AutoFilterCellEditorInitialize" и перехватите создание здесь.
Затем вы можете добавить свои дополнительные элементы управления в строку фильтра, выполнив простую проверку столбца;Например:
protected void gridView_AutoFilterCellEditorInitialize(object sender, ASPxGridViewEditorEventArgs e)
{
if (e.Column.Caption.Equals("FieldName"))
{
e.Editor.Controls.Add( new ASPxDateEdit() );
}
}
Надеюсь, это поможет кому-нибудь с подобной проблемой!
Другие советы
Создайте второй столбец с той же датой.Затем вы можете использовать исходный столбец в качестве столбца from, используя фильтр "больше, чем".Второй столбец может быть столбцом "кому", если у него есть фильтр "меньше, чем".Затем вы можете скрыть данные во втором столбце столбца, добавив в столбец пустой DataItemTemplate.Это немного неуклюже, но может сделать то, что вы хотите.
Взгляните на это опубликовать в пользовательских фильтрах строк сообщество devexpress предлагает возможный обходной путь.