我有一个 .MDB 文件,其中有一个 n_groups 表和我需要引用的三列,即 NUID、strName 和 ntype。查询按预期工作,但是列表框只是显示为空,没有结果。
如何使结果填充列表框?
这是我到目前为止所拥有的:
var conn = new OleDbConnection("Provider=Microsoft.JET.OLEDB.4.0;" +
"data source=C:\\menus\\newmenus\\menu.mdb;Jet " +
"OLEDB:Database Password=@#@#@#");
var ds = new DataSet();
var adapter = new OleDbDataAdapter(
"SELECT nUID, strName FROM n_groups where ntype=1", conn);
conn.Open();
adapter.Fill(ds);
conn.Close();
var value = ds.Tables[0].Rows[0]["strName"].ToString();
listBox1.DataSource = value;
假设我想使用第二个列表框(如选项列表排序器)对列表进行重新排序,有没有办法调用列表框中项目的位置?
我需要能够将结果的内容从上到下重新排序以进行排序。
我打算使用这样的选项列表排序方法:
但我无法填充左侧列表。如何使用 C# 从 MDB 获取数据并将结果放入列表框中?
最佳答案
有一种更简单的方法可以做到这一点...而不是尝试这种方式
How can I make the results populate a listbox?
这是半伪代码:
dt DataTable
dt = ds.Tables[0]
listbox1.datasource = dt
listbox1.datamember = "nameoffield"
listbox1.databind()
这基本上获取整个数据表并将其绑定(bind)到控件。您可以使用 .SelectedIndex
或 .SelectedItem
我认为您想要寻找的是:
在add的点击事件中:
listbox2.items.add(listbox1.selecteditem)
在remove的点击事件中
listbox2.items.removeat(listbox2.selectedindex)
关于C# 从 MDB 获取数据并将结果放入列表框中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17584975/