From 0b3241522471239effb897e7771c801b4242bca5 Mon Sep 17 00:00:00 2001 From: Sunny Date: Tue, 28 May 2024 22:26:18 +0800 Subject: [PATCH] =?UTF-8?q?*=20UIComboDataGridViewItem:=20=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=8F=AF=E8=BF=87=E6=BB=A4=E6=9C=AA=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E5=88=97=20*=20UIComboDataGridViewItem:=20FilterColumnName?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E2=80=9C;=E2=80=9D=E5=88=86=E9=9A=94?= =?UTF-8?q?=EF=BC=8C=E6=94=AF=E6=8C=81=E5=A4=9A=E5=88=97=E8=BF=87=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DropItem/UIComboDataGridViewItem.cs | 25 ++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/SunnyUI/Controls/DropItem/UIComboDataGridViewItem.cs b/SunnyUI/Controls/DropItem/UIComboDataGridViewItem.cs index 5a5db9dc..4c0cdbe1 100644 --- a/SunnyUI/Controls/DropItem/UIComboDataGridViewItem.cs +++ b/SunnyUI/Controls/DropItem/UIComboDataGridViewItem.cs @@ -17,6 +17,8 @@ * 创建日期: 2020-01-01 * * 2023-03-29: V3.3.3 增加多语翻译 + * 2024-05-28: V3.6.6 增加可过滤未显示列 + * 2024-05-28: V3.6.6 FilterColumnName增加“;”分隔,支持多列过滤 ******************************************************************************/ using System; @@ -381,15 +383,32 @@ namespace Sunny.UI { if (FilterColumnName.IsValid()) { - string str = FilterColumnName + " like '%" + filterText + "%'"; - filter = str; + if (FilterColumnName.Contains(";")) + { + string[] filters = FilterColumnName.Split(';'); + List strings = new List(); + foreach (var column in filters) + { + if (column.Trim().IsValid()) + { + strings.Add(column.Trim() + " like '%" + filterText + "%'"); + } + } + + filter = string.Join(" or ", strings); + } + else + { + string str = FilterColumnName + " like '%" + filterText + "%'"; + filter = str; + } } else { List strings = new List(); foreach (DataGridViewColumn column in dataGridView.Columns) { - if (column.Visible && column.DataPropertyName.IsValid()) + if (column.DataPropertyName.IsValid()) { strings.Add(column.DataPropertyName + " like '%" + filterText + "%'"); }