C# 如何列出带有空for RadComboBox的项目
我有一个盒子。 我用一个函数填充它,该函数返回例如{Stack,Over,Flow,StackOverFlow} 当我单击RadCombobox时,将列出项目 我想把空元素放在第一位 我试着做到以下几点:C# 如何列出带有空for RadComboBox的项目,c#,telerik,radcombobox,C#,Telerik,Radcombobox,我有一个盒子。 我用一个函数填充它,该函数返回例如{Stack,Over,Flow,StackOverFlow} 当我单击RadCombobox时,将列出项目 我想把空元素放在第一位 我试着做到以下几点: var stack= GetItems(SiteId); RadComboBox1.Items.Add(new RadComboBoxItem("", "0")); RadComboBox1.DataSource = stack; RadComboBox1.DataTextField =
var stack= GetItems(SiteId);
RadComboBox1.Items.Add(new RadComboBoxItem("", "0"));
RadComboBox1.DataSource = stack;
RadComboBox1.DataTextField = "Name";
RadComboBox1.DataValueField = "Id";
RadComboBox1.DataBind();
RadComboBox1.AllowCustomText = false;
没有变化。仅列出{Stack,Over,Flow,StackOverFlow}
当我写下面的代码时
var stack= GetItems(SiteId);
RadComboBox1.DataSource = stack;
RadComboBox1.DataTextField = "Name";
RadComboBox1.DataValueField = "Id";
RadComboBox1.DataBind();
RadComboBox1.Items.Add(new RadComboBoxItem("xyz", "0"));
RadComboBox1.AllowCustomText = false;
仅列出{Stack,Over,Flow,StackOverFlow,xyz}
但是我没有得到我想要的结果
下面是设计方面
<telerik:RadComboBox ID="RadComboBox1" runat="server" Width="120px" MarkFirstMatch="true" Filter="Contains"></telerik:RadComboBox>
我该怎么办
我想列出{
”
,“Stack”
,“Over”
,“Flow”
,“StackOverFlow”使用您的第一选择,在调用数据绑定()之前添加RadComboBox1.AppendDataBoundItems=true
。这意味着在从数据绑定添加项之前,它不会清除现有项。如有必要,您需要事先手动清除项目:
RadComboBox1.Items.Clear();
RadComboBox1.ClearSelection();
使用第一个选项,在调用DataBind()
之前添加radcombox1.AppendDataBoundItems=true
。这意味着在从数据绑定添加项之前,它不会清除现有项。如有必要,您需要事先手动清除项目:
RadComboBox1.Items.Clear();
RadComboBox1.ClearSelection();
当您设置RadComboBox数据源属性时,它将清除RadComboBox中的所有项。然后,项将迭代设置为它的IEnumerable对象,并将它们添加到项集合中。在您的情况下,您可以使用radComboBox.items.add()手动添加所有项目
或者您可以先将空项添加到集合中,然后将其绑定到RadComboBox(我假设stack是StackItem的列表)
List stack=GetItems(SiteId);
//添加您的空项目。
Insert(0,new StackItem(){Name=”“,Id=0});
//设置数据源
RadComboBox1.DataSource=堆栈;
radcombox1.DataTextField=“Name”;
radcombox1.DataValueField=“Id”;
尽管在这种情况下更改集合(后一个示例)通常不是一个好主意。当您设置RadComboBox数据源属性时,它将清除RadComboBox中的所有项。然后,项遍历设置为它的IEnumerable对象,并将它们添加到项集合中。在您的情况下,您可以使用radComboBox.items.add()手动添加所有项目
或者您可以先将空项添加到集合中,然后将其绑定到RadComboBox(我假设stack是StackItem的列表)
List stack=GetItems(SiteId);
//添加您的空项目。
Insert(0,new StackItem(){Name=”“,Id=0});
//设置数据源
RadComboBox1.DataSource=堆栈;
radcombox1.DataTextField=“Name”;
radcombox1.DataValueField=“Id”;
尽管通常情况下,为此类情况更改收藏(后一个示例)不是一个好主意
List<StackItem> stack = GetItems(SiteId);
//Add your empty item.
stack.Insert(0, new StackItem(){Name = "", Id = 0});
//Set the DataSource
RadComboBox1.DataSource = stack;
RadComboBox1.DataTextField = "Name";
RadComboBox1.DataValueField = "Id";