在顶部添加新的组合框项而不是从数据库添加

时间:2014-07-26 08:20:43

标签: c# asp.net combobox

我已宣布此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,但它没有显示......任何想法为什么?

2 个答案:

答案 0 :(得分:0)

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

以下是代码:

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

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

ExtraItem是要显示的文本,选择Item时-1应该是selectedValue。

答案 1 :(得分:0)

对于Telerik RadComboBox,我确实有这个场景,我解决它就像下面这样: 您可以通过在组合框的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));
}