0

我需要一种简单的方法来填充正在添加的当前项目的数据库中的值,以便以后可以使用它:

'Filling the MAIN Categories part
Dim DataAdapterCatm As New MySqlDataAdapter("SELECT id,title From catM;", MySqlConnection)
Dim dsMc As New DataTable
DataAdapterCatm.Fill(dsMc)
For counter = 0 To dsMc.Rows.Count - 1
    LbMCat.Items.Add(dsMc.Rows(counter).Item("title").ToString)
    'LbMCat.ValueMember = dsMc.Rows(counter).Item("id").ToString
'The above line don't work, I need something to replace it
Next
4

2 回答 2

1

试试这个代替你的 for 循环中的两行:

LbMCat.Items.Add(New ListItem(dsMc.Rows(counter).Item("title").ToString(), dsMc.Rows(counter).Item("id").ToString())

在构造函数中,ListItem您可以为ListItem

于 2013-07-09T03:18:54.400 回答
1

您误解了ValueMember的含义。ValueMember 是一个字符串,它表示您希望用作值的属性。在你的情况下,它只是"id". 请注意,它是ListBox- 的一个属性,每次都没有不同。

ValueMember并且相关DisplayMember仅在将 DataBinding 与DataSource属性一起使用时有效,并且在通过Items.Add. 你想要的是以下内容:

Dim DataAdapterCatm As New MySqlDataAdapter("SELECT id,title From catM;", MySqlConnection)
Dim dsMc As New DataTable
DataAdapterCatm.Fill(dsMc)
LbmCat.DataSource = dsMc;
LbMCat.ValueMember = "id";
LbmCat.DisplayMember = "title";
于 2013-07-09T03:15:09.917 回答