【发布时间】:2011-02-16 02:17:54
【问题描述】:
我在我的应用程序中使用 XtraGrid。我已经为列过滤器显示了带有唯一值的选中列表框。现在,我想枚举在单击确定按钮后对话框消失后检查了哪些项目。如何做到这一点?
谢谢, 呸呸呸
【问题讨论】:
我在我的应用程序中使用 XtraGrid。我已经为列过滤器显示了带有唯一值的选中列表框。现在,我想枚举在单击确定按钮后对话框消失后检查了哪些项目。如何做到这一点?
谢谢, 呸呸呸
【问题讨论】:
虽然我不知道过滤器弹出窗口中选中列表框的确切实现,但您可以在 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
}
【讨论】: