在顶部添加一个新的组合框项,而不是来自数据库

本文关键字:数据库 组合 添加 顶部 一个 | 更新日期: 2023-09-27 18:14:50

我已经声明了这个ComboBox:

<ajaxToolkit:ComboBox ID="ComboBox1" runat="server" AutoCompleteMode="SuggestAppend"  
  DataSourceID="SqlDataSource2" MaxLength="0"  DataTextField="kompania" DataValueField="kompania"
            style="display: inline;position: static;"  >
             <asp:ListItem Text="Mild" Value="0" />
            </ajaxToolkit:ComboBox>
        <asp:SqlDataSource ID="SqlDataSource2" runat="server" 
            ConnectionString="<%$ ConnectionStrings:bootstrap1 %>" 
            SelectCommand="SELECT [idkompania], [kompania] FROM [kompania] ORDER BY [kompania]">
        </asp:SqlDataSource>

它从数据库表中获取值。我现在要做的是在ComboBox的顶部添加一个新项目,因为我必须以编程方式额外处理该项目。我试图添加一个新的ListItem,但它不显示…知道为什么吗?

在顶部添加一个新的组合框项,而不是来自数据库

您可以尝试在codeBehind文件中添加该项目吗?

代码如下:

YourComboBoxName.Items.Insert(0, new ListItem("ExtraItem", "-1")); 

在上面的代码行中,0表示要添加该项的位置。

ExtraItem是要显示的文本,当Item被选中时-1应该是selectedValue

我对Telerik RadComboBox有这样的场景,我像下面这样解决它:您可以通过在combobox:

的DataBound事件中添加项目来实现:
protected void testComboBox_DataBound(object sender, EventArgs e)
{
     var combo = (RadComboBox)sender;
     combo.Items.Insert(0, new RadComboBoxItem("My First Test Item", string.Empty));
}