0

我正在尝试将 Listbox 与 Ajax 扩展器一起用于自动填充搜索。列表框连接到具有 2 列的 SQL 数据源,我知道列表框不支持多列。我对显示这两列不感兴趣,我想做的是如下:

到目前为止,我在检索第一列值方面没有问题

string SupplierListtxt = SupplierListBox.SelectedItem.Text;
   MessageBox.Show(SupplierListtxt.ToString()); 

概念如下:

供应商数据库具有公司名称和唯一 ID (SupplierID) 设置为主键。产品数据库有一个 SupplierID 设置为外键。

因此,我希望当用户选择列表框时,我应该同时收到公司名称和供应商 ID 信息,以便将其插入到产品数据库中。

4

1 回答 1

2

你必须在你DataBind ListBox 之前设置DataTextField and 。 DataValueField

SupplierListBox.DataSource = CreateDataSource();
SupplierListBox.DataTextField="YourTextField";
SupplierListBox.DataValueField="YourIdField";
SupplierListBox.DataBind();

SelectedValue您可以通过或获得值SelectedItem.Value

如果您想以编程方式添加项目,您可以添加ListItems

for(int i = 1; i <= 10; i++)
{
    string id = i.ToString();
    string text = "Foo#" + i;
    SupplierListBox.Items.Add(new ListItem(text, id));
}
于 2013-01-26T14:01:39.063 回答