这是我的代码。有用。唯一的问题是当我将数据集绑定到其数据源时,下拉框的第一个索引被清除(“选择源数据库”)。
我想绑定数据集并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)
{
}
}
}
答案 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")