我正在尝试将Listbox与Ajax扩展程序一起用于自动填充搜索。 Listbox连接到带有2列的SQL数据源,我知道Listbox不支持多列。我不想显示我想要做的两个列如下:
到目前为止,我在检索第一列值时没有问题
string SupplierListtxt = SupplierListBox.SelectedItem.Text;
MessageBox.Show(SupplierListtxt.ToString());
概念如下:
供应商数据库将公司名称和唯一ID(SupplierID)设置为主键。产品数据库将SupplierID设置为外键。
所以我想当用户选择列表框时,我应该收到信息,公司名称和SupplierID,以便将其插入到产品数据库中。
答案 0 :(得分:2)
在DataBind ListBox之前,您必须设置DataTextField
和 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));
}