我一直试图用数据表填充列表框。
以下是我见过的几乎每个页面所建议的代码:
ListBox lb = new ListBox();
using (SqlCommand cmd = new SqlCommand("SELECT * FROM Files", con))
{
SqlDataAdapter dap = new SqlDataAdapter(cmd);
DataTable tblShapes = new DataTable();
dap.Fill(tblShapes);
lb.DataSource = tblShapes;
// define Display and Value members
lb.DisplayMember = "Name";
lb.ValueMember = "Id";
}
问题是lb.Items
中没有项目,即使lb.datasource.rows
有我的记录
我还尝试更改datasource
分配DisplayMember
和ValueMember
无变化的顺序
c#winforms
提前致谢
答案 0 :(得分:3)
由于您是动态创建lsitbox,因此需要添加到控件中,以后再设置DataSource
ListBox lb = new ListBox();
this.Controls.Add(lb);
lb.DisplayMember = "Name";
lb.ValueMember = "Id";
lb.DataSource = tblShapes;