2

我有一个 .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 获取数据并将结果放入列表框中?

4

1 回答 1

2

有一个更简单的方法来做到这一点......而不是尝试这种方式

How can I make the results populate a listbox?

这是半伪代码:

dt DataTable
dt =  ds.Tables[0]
listbox1.datasource = dt
listbox1.datamember = "nameoffield"
listbox1.databind()

这基本上需要整个数据表并将其绑定到控件。.SelectedIndex您可以使用或引用每个对象.SelectedItem

我认为您要寻找的是:

在添加的点击事件中:

listbox2.items.add(listbox1.selecteditem)

在删除的点击事件中

listbox2.items.removeat(listbox2.selectedindex)
于 2013-07-11T04:29:39.840 回答