telerik radcombobox中的默认项目

时间:2017-10-31 22:42:12

标签: c# telerik

我正在使用

<telerik:RadComboBox>

在网页表单页面中。

定义是:

<telerik:RadComboBox runat="server" ID="productList" EmptyMessage="Choose a product" />

使用EF:

检索数据
this.productList.DataTextField = "ProductName";
this.productList.DataValueField = "ProductId";
this.productList.DataSource = Service.GetActiveProductList();
this.productList.DataBind();

我希望下拉菜单“选择”当前产品,我这样做:

this.productList.SelectedIndex = this.productList.FindItemIndexByValue(this.ProductID);

我希望用户能够“清除”所选产品,以便下拉列表中没有产品是所选项目。

我遇到的是,当我成功设置SelectedIndex时,EmptyMessage文本没有出现在列表中(我明白了,列表不是空的),但如果让我们说这个.ProductID在列表中不存在,然后会出现EmptyMessage,但只要我选择一个项目就会消失。

简而言之,我想

  • 将SelectedIndex设置为this.ProductID
  • 的值
  • 始终在下拉列表中选择“选择产品”选项

2 个答案:

答案 0 :(得分:0)

this.productList.DataTextField = "ProductName"; this.productList.DataValueField = "ProductName";

尝试使用dataValueField = ProductName代替ID。因为它试图在过滤下拉列表中查找文本,并且您的dataValueField是一个int,所以它不会在列表中找到匹配项。

答案 1 :(得分:0)

我认为您正在寻找默认项和AppendDataBoundItems属性

<telerik:RadComboBox runat="server" AppendDataBoundItems="true" ID="productList" EmptyMessage="Choose a product">
    <Items>
     <telerik:RadComboBoxItem Value="MyDefaultValue" Text="Choose a product" />
    </Items>
</telerik:RadComboBox>