C#从MDB获取数据并将结果放入列表框中

时间:2013-07-11 04:17:04

标签: c# listbox

我有一个.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;

假设我想使用第二个列表框(如选项列表分类器)对列表重新排序有没有办法在列表框中调用项目的位置?

我需要能够从上到下重新排序结果的内容以进行排序。

我打算使用这样的选项列表排序方法: demo picklist sorter

但我无法让左侧列表填充。如何使用C#从MDB获取数据并将结果放入列表框?

1 个答案:

答案 0 :(得分: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)