我在aspx页面上使用Telerik控件。我有级联radcombo盒(下拉框)。我的页面上有3个。第2个rad组合框的值取决于第1个和第3个,取决于第2个选择。问题是我想在第3个下拉列表中包含一个select all选项。这些值来自数据库,即所有数据都是数据绑定的。如何在组合框中添加“全选”选项?我在c#中使用parameters.insert函数尝试了它,但是不起作用。我尝试添加控件本身,但也没有显示出来。
有人可以帮忙吗?
答案 0 :(得分:2)
简单地创建一个新的RadComboBoxItem并将其添加到RadComboBox。见下面的例子。
RadComboBoxItem myItem = new RadComboBoxItem();
myItem.Text = "Select All";
myItem.Value = "SelectAll";
//Add it as the last item
myComboBox.Items.Add(myItem);
//OR
/Add it as the first item
myComboBox.Insert(0, myItem);
修改强>
通过将我们的代码放在控件的DataBound事件中,确保在绑定控件后添加项目:
protected void RadComboBox1_DataBound(object sender, EventArgs e)
{
var combo = (RadComboBox)sender;
combo.Items.Insert(0, new RadComboBoxItem("Select All", "SelectAll"));
}
以下是Telerik的一些文档,解释了如何正确执行此操作:http://www.telerik.com/help/aspnet-ajax/combobox-insert-default-item-when-databinding.html。
注意:如果上述方法无效,请确保已设置myComboBox.AppendDataBoundItems = true
。
答案 1 :(得分:0)
由于OP没有表明对解决方案背后的代码的偏好,我们应该提到声明性方法,它也是完全有效的,并且避免了对DataBound事件处理程序的需要:
<telerik:RadComboBox ID="RadComboBox1" runat="server" DataSourceID="SomeDataSource" AppendDataBoundItems="true" ... >
<Items>
<telerik:RadComboBoxItem Text="Select All" Value="Select All" />
</Items>
</telerik:RadComboBox>
詹姆斯对Telerik的引用仍然适用于这一个:RadComboBox Items - Declaring the Items In-line
答案 2 :(得分:-1)
Protected Sub CreateSelectAllUsersCheckBox()
Dim chkSelectAllUsers As New CheckBox
chkSelectAllUsers.Text = "Select All Users"
chkSelectAllUsers.ID = "chk1"
Dim radComboBoxItem As New RadComboBoxItem
radComboBoxItem.Text = "Select All Users"
radComboBoxItem.Controls.Add(chkSelectAllUsers)
cmbRoleName.Items.Insert(0, radComboBoxItem)
radComboBoxItem.DataBind()
End Sub