XtraGrid列检查列表过滤器问题

时间:2011-02-16 02:17:54

标签: c# .net xtragrid

我在我的应用程序中使用XtraGrid。我已经显示了具有列筛选器的唯一值的选中列表框。现在,我想枚举在单击确定按钮后对话框消失后检查了哪些项目。怎么做?

谢谢, Omky

1 个答案:

答案 0 :(得分:0)

虽然我不知道过滤器弹出窗口中已检查列表框的确切实现,但您可以在GridView上处理ColumnFilterChanged事件。然后,我建议您分析列的FilterCriteria,并查看用于过滤的值。

private void gridView1_ColumnFilterChanged(object sender, EventArgs e)
{
    var filteredValues = new List<string>();

    var criteria = gridColumn1.FilterInfo.FilterCriteria;

    if (criteria is GroupOperator)
    {
        var group = (GroupOperator)criteria;
        foreach (var operand in group.Operands.OfType<BinaryOperator>())
        {
            var value = (OperandValue)operand.RightOperand;
            filteredValues.Add(value.Value.ToString());
        }
    }
    else if(criteria is BinaryOperator)
    {
        var value = (OperandValue)((BinaryOperator)criteria).RightOperand;
        filteredValues.Add(value.Value.ToString());

    }

    // Do something with the filtered values
}