gpt4 book ai didi

C# Winforms Bind ListBox to DataTable问题

转载 作者:行者123 更新时间:2023-11-30 15:33:53 31 4
gpt4 key购买 nike

嗯,我在将 ListBox 控件绑定(bind)到 DataTable 时遇到了问题。

代码:

using (DbWrapper db = DbFactory.GetConnection("SQLite").WrapIn<MyDbWrapper>())
{
db.Open();

DataTable results = db.ExecuteQuery("SELECT id,title FROM schedule");

ScheduleList.DataSource = results;
ScheduleList.DisplayMember = "title";
ScheduleList.ValueMember = "id";
}

这段代码应该从我的 SQLite 数据库接收数据,并将其绑定(bind)到我的 ScheduleList,但是当我编译时,我看到我的 ListBox 充满了 System.Data.DataRowView 字符串。

enter image description here

数据库没有问题。应用程序正在接收数据,数据是正确的。如果我遍历我的数据表,我将获得 id 和 title 作为列名,所以它们没有任何问题。

我读到该问题可以通过更改绑定(bind)顺序或将 ListBox.Sorted 属性设置为 false 来解决。我已经尝试了所有方法,但仍然没有成功。

有什么建议吗?除了遍历数据行并手动添加它们之外,还有其他解决方案吗?

最好的问候。

最佳答案

我使用了这段代码并且它有效。

DataTable oTable = new DataTable();
oTable.Columns.Add("ID", typeof(int));
oTable.Columns.Add("TITLE", typeof(string));

DataRow oNewRow = null;
for (int i = 0; i < 10; i++)
{
oNewRow = oTable.NewRow();

oNewRow["ID"] = i;
oNewRow["TITLE"] = "Title_" + i.ToString();

oTable.Rows.Add(oNewRow);
}

listBox1.DataSource = oTable;
listBox1.ValueMember = "ID";
listBox1.DisplayMember = "TITLE";

enter image description here

编辑:您可能需要先提供数据源,然后声明值显示成员。

关于C# Winforms Bind ListBox to DataTable问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16837764/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com