在C#中隐藏组合框中的一个项目

时间:2013-08-20 07:10:00

标签: c# combobox

目标保险柜会员集:

cboDestinationVault.DataSource = Enum.GetValues(typeof(enumVaultType))
        .Cast<enumVaultType>()
        .Select(x => new { 
            Value = x, Description = x.ToString().Replace("_", " ") 
        }).ToList();

cboDestinationVault.DisplayMember = "Description";

cboDestinationVault.ValueMember = "Value";

我想隐藏cboDestinationVault中的一个项目。

1 个答案:

答案 0 :(得分:2)

只需在Where声明

中添加Linq子句即可
cboDestinationVault.DataSource = Enum.GetValues(typeof(enumVaultType))
        .Cast<enumVaultType>()
        .Where(e => e != enumVaultType.Whatever)
        .Select(x => new { 
            Value = x, Description = x.ToString().Replace("_", " ") 
        }).ToList();

如果有多个,您可以使用Except

cboDestinationVault.DataSource = Enum.GetValues(typeof(enumVaultType))
        .Cast<enumVaultType>()
        .Except(new []{enumVaultType.ThisOne, enumVaultType.ThatOne})
        .Select(x => new { 
            Value = x, Description = x.ToString().Replace("_", " ") 
        }).ToList();