如何将数据集绑定到从下拉框的第二个索引处开始的下拉框?

时间:2012-09-14 16:50:08

标签: c# asp.net drop-down-menu dataset

这是我的代码。有用。唯一的问题是当我将数据集绑定到其数据源时,下拉框的第一个索引被清除(“选择源数据库”)。

我想绑定数据集并INCLUDE第一个索引“选择源数据库”。

如何修改我的代码才能完成此任务?

protected void ddlServer_SelectedIndexChanged(object sender, EventArgs e)
{
    ddlSourceDatabases.Items.Clear();
    ddlSourceDatabases.Items.Add("Select Source Database");

    lbxSourceTables.Items.Clear();

    if (ddlSourceServers.SelectedIndex != 0)
    {
       try
       {
           ddlSourceDatabases.DataSource = Database.GetDatabases(ddlSourceServers.Text);
           ddlSourceDatabases.DataTextField = "name";
           ddlSourceDatabases.DataValueField = "name";
           ddlSourceDatabases.DataBind();
        }
        catch (Exception)
        {               
        }
     }
}

4 个答案:

答案 0 :(得分:1)

将数据绑定后的项目插入第一个位置:

//...
ddlSourceDatabases.DataBind();
ddlSourceDatabases.Items.Insert(0, "Select Source Database");
//...

答案 1 :(得分:0)

我已经重新验证了你的代码,现在它应该可以运行

protected void ddlServer_SelectedIndexChanged(object sender, EventArgs e)
 {
ddlSourceDatabases.Items.Clear();
lbxSourceTables.Items.Clear();

if (ddlSourceServers.SelectedIndex != 0)
{
   try
   {
       ddlSourceDatabases.DataSource = Database.GetDatabases(ddlSourceServers.Text);
       ddlSourceDatabases.DataTextField = "name";
       ddlSourceDatabases.DataValueField = "name";
       ddlSourceDatabases.DataBind();

      ddlSourceDatabases.Items.Add("Select Source Database");

    }
    catch (Exception)
    {               
    }
 }

}

答案 2 :(得分:0)

将“选择源数据库”作为新项添加到数据源作为DataTextField,将null作为DataValueField添加。那就解决了。当您数据绑定到数据源时,将删除任何其他值,并且仅显示数据源中的值。

答案 3 :(得分:0)

独立于您之前添加的内容(在您的情况下是“选择源数据库”字符串),当您手动设置数据源时,您将替换之前添加的所有项目。因此,在使用dlSourceDatabases.Items.Insert(0, "Select Source Database")

设置其datacontext(到零索引或第一个位置)之前添加项目