アプリケーションで XtraGrid を使用しています。列フィルターの一意の値を含むチェック リスト ボックスを表示しました。ここで、[OK] ボタンをクリックしてダイアログが消えたら、どの項目がチェックされたかを列挙したいと思います。これを行う方法?
ありがとう、オムキー
フィルター ポップアップでのチェック リスト ボックスの正確な実装はわかりませんがColumnFilterChanged
、GridView でイベントを処理できます。次に、列の 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
}