2013-08-20 66 views
2

目标保管会员组:隐藏组合框一个项目在C#

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一个项目。

+2

如果你不想在你列表的东西,你为什么在那里添加它? – Artless

回答

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(); 
+0

谢谢sa_ddam213,对不起我想念我上面的主要问题。其实我只使用上面的代码加载组合框,然后我想隐藏一个项目(加载后在另一种方法) –