2016-08-10 3 views
1

как добавить кнопку [x], чтобы очистить автоматический фильтр, поэтому нам не нужно нажимать кнопку «Удалить» или «Backspace», очистить фильтр. иллюстрация как этотдобавить пользовательскую кнопку в строке фильтра фильтра сетки

img1

для кода IAM, используя для repositoryitemcombobox

private void gridView1_CustomRowCellEdit(object sender, CustomRowCellEditEventArgs e) 
    { 
     if (gridView1.OptionsView.ShowAutoFilterRow == true) 
     { 

      for (int i = 0; i < gridView1.RowCount; i++) 
      { 

        string code = gridView1.GetDataRow(i)["code"].ToString(); 
        if (!repositoryItemComboBox1.Items.Contains(code)) 
        { 
        repositoryItemComboBox1.Items.Add(code); 
        }     
      } 
      if (e.Column.FieldName == "genre" && view.IsFilterRow(e.RowHandle)) 
      { 
       e.RepositoryItem = repositoryItemComboBox1; 

      } 

FYI: IAM с помощью DevExpress

ответ

0

ли DevExpress' вид сетки, не так ли? Я не знаю, подходит ли это решение для ваших нужд, но вы можете вставить обычный кнопочный контроль рядом с сеткой и поместить код от answer on this site, внутри действия click click.

EDIT: Найдено ответ на ваш вопрос - unfortunately it's not possible to add custom button to auto filter row

+0

Да, его devexpress, поэтому мы не можем вводить кнопку ввода в репозитории элемента combobox? –

+0

Я попробовал, ничего не работает, также его не то, что я хочу (нет четкой кнопки). –

+0

Возможно добавить пользовательский столбец с кнопкой внутри [как здесь] (https://www.devexpress.com/Support/Center/Question/Details/T161954)? – Kraviec

0

(от верхней части моей головы, я предполагаю, что это для управления WinForms)

Вам нужно иметь два RepositoryItems, один без кнопка очистки и одна с кнопкой (вы можете добавлять кнопки через свойство Buttons от RepositioryItem).

Вы назначите объект RepositoryItem без дополнительной кнопки в соответствующий столбец.

Затем вам нужно обработать CustomRowCellEditEventHandler GridView. Проверьте, равно ли e.RowHandle события GridControl.AutoFilterRow, и если да, назначьте e.RepositoryItem в RepositoryItem с помощью кнопки очистки.

Затем обработайте прозрачную кнопку «Событие с привязкой к хранилищу».