0
ユーザーが入力したフィルタのリストがあり、DataGridView
に適用したいと思います。 DataGridView
にすべてのフィルタを適用する最良の方法は何ですか? ColumnFilters
の私のリストは基本的に、Column name, operand (=, >, < etc.)
とユーザ入力の値に分割された文字列のリストです。C#データグリッドビューに複数のフィルタを適用する
public void ApplyFilters(List<ColumnFilter> filters)
{
if (filters.Count > 0))
{
foreach (ColumnFilter filter in filters)
{
BindingSource bs = (BindingSource)dataGridView1.DataSource;
bs.Filter = string.Format("{0} {1} '{2}'", filter.ColumnName, filter.Operand, filter.Value);
dataGridView1.DataSource = bs;
}
}
}
同じことができます1つのフィルターで作業するようにしましたか?それ以外の場合は、単純なチェックを入れても構いませんが、すべてのロジックが1行に収まっていれば素晴らしいでしょう。 – Iason
実際に.NET 3.5を使用しているため、このコンパイルで問題が発生する可能性があります。 – Iason
これは1つのフィルタでのみ動作します。それはstring.joinの美しさです。列挙に項目が1つしかない場合は、区切り文字(AND)は追加されません。 –