* UIComboBox: 增加过滤时忽略大小写

This commit is contained in:
Sunny 2023-06-28 17:08:30 +08:00
parent 9679e2e9c2
commit 28cd82dc32

View File

@ -35,6 +35,7 @@
* 2022-11-30: V3.3.0 Clear方法 * 2022-11-30: V3.3.0 Clear方法
* 2023-02-04: V3.3.1 * 2023-02-04: V3.3.1
* 2023-03-15: V3.3.3 * 2023-03-15: V3.3.3
* 2023-06-28: V3.3.9
******************************************************************************/ ******************************************************************************/
using System; using System;
@ -361,10 +362,21 @@ namespace Sunny.UI
{ {
foreach (var item in Items) foreach (var item in Items)
{ {
if (item.ToString().Contains(filterText)) if (FilterIgnoreCase)
{ {
filterList.Add(item.ToString()); if (item.ToString().ToUpper().Contains(filterText.ToUpper()))
if (filterList.Count > FilterMaxCount) break; {
filterList.Add(item.ToString());
if (filterList.Count > FilterMaxCount) break;
}
}
else
{
if (item.ToString().Contains(filterText))
{
filterList.Add(item.ToString());
if (filterList.Count > FilterMaxCount) break;
}
} }
} }
} }
@ -374,10 +386,21 @@ namespace Sunny.UI
{ {
for (int i = 0; i < Items.Count; i++) for (int i = 0; i < Items.Count; i++)
{ {
if (GetItemText(dataManager.List[i]).ToString().Contains(filterText)) if (FilterIgnoreCase)
{ {
filterList.Add(dataManager.List[i]); if (GetItemText(dataManager.List[i]).ToString().ToUpper().Contains(filterText.ToUpper()))
if (filterList.Count > FilterMaxCount) break; {
filterList.Add(dataManager.List[i]);
if (filterList.Count > FilterMaxCount) break;
}
}
else
{
if (GetItemText(dataManager.List[i]).ToString().Contains(filterText))
{
filterList.Add(dataManager.List[i]);
if (filterList.Count > FilterMaxCount) break;
}
} }
} }
} }
@ -402,6 +425,10 @@ namespace Sunny.UI
[Description("过滤时删除字符串前面、后面的空格"), Category("SunnyUI")] [Description("过滤时删除字符串前面、后面的空格"), Category("SunnyUI")]
public bool TrimFilter { get; set; } public bool TrimFilter { get; set; }
[DefaultValue(false)]
[Description("过滤时忽略大小写"), Category("SunnyUI")]
public bool FilterIgnoreCase { get; set; }
private void FillFilterTextEmpty() private void FillFilterTextEmpty()
{ {
filterForm.ListBox.Items.Clear(); filterForm.ListBox.Items.Clear();