2

我想在 C# 的列表视图中从 access 数据库中获取数据...

这就是我正在使用的:

 private void LstVwBrandNmO_SelectedIndexChanged(object sender, EventArgs e)
    {
        string sql = "select BrandName from Inventory";
        OleDbDataAdapter da = new OleDbDataAdapter(sql, bookConn);
        DataTable dt = new DataTable();
        da.Fill(dt);
        return dt;
    }

接下来做什么?

4

3 回答 3

2

获取数据表中的数据后,只需像这样分配 Listiew 的数据源属性 ListView.DataSource = dt

并使用 databind 函数将数据源绑定到列表

ListView.DataBind();

在此之前,请确保您已使用 <%#EVAL#> 定义 Itemtemplate 以绑定数据源中的值

于 2013-04-11T05:45:10.970 回答
1

如果您已经在 ListView 中定义了列和视图,您可以简单地将 ListView 设置ItemsSource为 DataTable:

listView.ItemsSource = dt.DefaultView;

如果您想以编程方式执行此操作,那么这可能会有所帮助:

foreach (DataRow dataRow in dt.Rows) {
    ListViewItem item = new ListViewItem(dataRow[0].ToString());

    for (int i = 1; i < dt.Columns.Count; i++) {
        item.SubItems.Add(dataRow[i].ToString());
    }
    listView.Items.Add(item);
}
于 2013-04-11T06:52:30.843 回答
1

您还可以执行循环以将数据添加到列表中,例如:

for (int i = 0; i < dt.Rows.Count; i++)
listBox1.Items.Add(dt.Rows[i][1]);
于 2013-04-11T05:48:35.960 回答