0

自動入力検索用の Ajax エクステンダーで Listbox を使用しようとしています。リストボックスは 2 列の SQL データソースに接続されています。リストボックスが複数列をサポートしていないことはわかっています。私がやろうとしていることは次のとおりです。

これまでのところ、最初の列の値を取得するのに問題はありません

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

コンセプトは以下の通り。

サプライヤー データベースには、会社名と一意の ID (SupplierID) がプライマリ キーとして設定されています。製品データベースには、外部キーとして設定された SupplierID があります。

したがって、ユーザーがリストボックスを選択したときに、製品データベースに挿入するために、会社名と SupplierID の両方の情報を受け取る必要があります。

4

1 に答える 1

2

ListBox を DataBind する前に、 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 に答える