如何将默认值添加到RadComboBox?

如何将默认值添加到RadComboBox?

问题描述:

我想添加一个额外的项目到我的WCF服务。这是我的代码。我有一个从数据库中获取值的代码。我想将默认项目'All'添加到数组中。这是我的WCF代码。如何将默认值添加到RadComboBox?

RadComboBoxData result = new RadComboBoxData(); 
var listView = new listTypedView(); 

//In case the user typed something - filter the result set 
string text = String.Concat("%", context.Text, "%"); 
if (!String.IsNullOrEmpty(text)) 
{ 
    using (DataAccessAdapter adapter = LLBLGenAdapterUtility.GetAdapter()) 
    { 
     RelationPredicateBucket filter = new RelationPredicateBucket(); 
     filter.PredicateExpression.Add(ViewNameFields.Name % text); 
     adapter.FetchTypedView(personView.GetFieldsInfo(), listView, filter, 0, null, false); 
    } 
} 

var allList = from n in listView 
        select new RadComboBoxItemData 
        { 
         Text = n.pName, 
         Value = n.Id.ToString() 
        }; 
result.Items = allList.ToArray(); 
+0

这与WCF有什么关系? – 2011-01-13 20:12:48

+0

与RadComboBox无关。标题需要改变。 – JohnC 2013-07-02 19:44:59

你在找这样的吗?

result.Items = (new List<RadComboBoxItemData> 
    { 
    new RadComboBoxItemData { Text = "All", Value = "" } 
    }).Concat(allList).ToArray(); 

Durg,我讨厌一切在一行的答案。为调试带来严重的痛苦。我已经upvoted拉迪斯拉夫的答案,但在这里它很好地格式化

var allList = from n in listView 
          select new RadComboBoxItemData 
          { 
           Text = n.pName, 
           Value = n.Id.ToString() 
          }; 
List<RadComboBoxItemData> listOfItems = new List<RadComboBoxItemData>(); 
listOfItems.Concat(allList); 

RadComboBoxItemData defaultItem = new RadComboBoxItemData(); 
defaultItem.Text = "All"; 
defaultItem.Value = string.empty; 
listOfItems.Insert(0, defaultItem); 

result.Items = listOfItems.ToArray();