我正在使用
<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,但只要我选择一个项目就会消失。
简而言之,我想
答案 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>