检查在radgridview中的过滤器列中输入了哪些用户

时间:2019-02-11 11:49:31

标签: c# winforms telerik

我有一个radGridView表单;我可以检查选择了哪个用户作为过滤器吗? (例如:包含,不包含,开头为等。) 如果选择了过滤器,那么在那里键入的内容是什么?

示例:

enter image description here

我有一列称为“标题”,并且在其中选择了“包含”过滤器,然后在该过滤器中键入“ TEST”。 我能以某种方式获得所有这些信息吗?

2 个答案:

答案 0 :(得分:0)

可以。我假设选择过滤器时要使用复选框,使用文本框来过滤文本。

文本框具有事件TextChangedKeyPress,当用户键入一些文本时会触发该事件。

在这种情况下,您可以检查过滤器选择的检查状态。

示例:

private void textBox_search_TextChanged(object sender, EventArgs e)
{
      string query = textBox_search.Text;

      if(checkbox_contains.Checked)
      {  
          //your filter logic
      }
      else if(checkbox_startsWith.Checked)
      {
          //your filter logic
      }

      //rest
}

答案 1 :(得分:0)

我找到了解决方案。 radgridview具有“ FilterDescriptors”属性,该属性可以保存您在每个过滤器字段中键入的所有内容,还可以保存为您提供该列的“ PropertyName”。

因此您基本上可以做到这一点:

foreach (var descriptor in this.FilterDescriptors)
{
     foreach (var column in this.MasterTemplate.Columns)
     {
          if (descriptor.PropertyName == column.FieldName)
          {
               //do stuff
          }
     }
}