我知道以下函数(Database.GetTables)带回了我想要的值。但是,当我尝试绑定到列表框时,没有任何内容填充它。我错过了什么吗?从数据源填充列表框的正确方法是什么?
protected void ddlDatabase_SelectedIndexChanged(object sender, EventArgs e)
{
if (ddlDatabases.SelectedIndex != 0)
{
lbxTables.DataSource = Database.GetTables(ddlServers.Text, ddlDatabases.Text);
ddlDatabases.DataValueField = "name";
ddlDatabases.DataBind();
}
}
我也尝试过:
ddlDatabases.DataTextField = "name";
没有运气。
答案 0 :(得分:2)
首先在列表框控件上设置DataSource,但最后在下拉菜单中调用DataBind。
试试这个:
protected void ddlDatabase_SelectedIndexChanged(object sender, EventArgs e)
{
if (ddlDatabases.SelectedIndex != 0)
{
lbxTables.DataSource = Database.GetTables(ddlServers.Text, ddlDatabases.value);
lbxTables.DataBind();
}
}
您还可以在DataValueField
之前添加DataTextField
lbxTables
lbxTables.DataBind();
{/ 1}}
答案 1 :(得分:0)
您是否尝试绑定lbxTables或ddlDatabases?上面你没有将任何数据绑定到仅设置数据源的列表框。相反,这样做:
lbxTables.DataSource = Database.GetTables(ddlServers.Text, ddlDatabases.Text);
lbxTables.DataTextField = "name";
lbxTables.DataValueField = "name";
lbxTables.DataBind();
答案 2 :(得分:0)
要获取显示列表框的值,您必须添加
lbxTables.DataBind()
答案 3 :(得分:0)
您正在尝试绑定下拉列表和列表框,但您需要将每个列表绑定到:
设置数据源(Database.GetTables(ddlServers.Text,ddlDatabases.Text);)。
为需要绑定到数据源的每个控件调用Control.Databind()(这意味着一个用于下拉列表,一个用于列表框)
可选,设置数据值和数据文本字段。
祝你有个美好的一天,