0
private void table_loader()
{
    SqlCeConnection ucon = new SqlCeConnection();
    ucon.ConnectionString = " Data Source=C:\\Documents and Settings\\laser\\My Documents\\Visual Studio 2008\\Projects\\dbtest\\dbtest\\ulist.sdf";
    ucon.Open();
    SqlCeCommand uce = new SqlCeCommand();
    SqlCeDataAdapter uced = new SqlCeDataAdapter();
    uced.SelectCommand = new SqlCeCommand("SELECT * FROM plist", ucon);
    uced.Fill(ulistDataSet, "plist");
    DataTable dplist = ulistDataSet.Tables["plist"];
    for (int i = 0; i <dplist.Rows.Count;i++)
    {
        DataRow drow = dplist.Rows[i];

            ListViewItem lvi = new ListViewItem(drow["Process"].ToString());
            MessageBox.Show(lvi.Text);
            listView2.Items.Add(lvi);

    }

}

我使用上面的代码在列表视图中显示数据库(SQL Server CE 3.5)值,但列表视图没有显示任何内容!当循环执行时,消息框()也会一一正确显示数据库值,我认为问题一定出在将值添加到列表视图中。这段代码有什么问题,有人可以解释一下吗?对不起我糟糕的英语!

在此先感谢, 乌拉加

4

2 回答 2

1

尝试使用此代码

listView2.Items.Add(drow["Process"].ToString()); //Verify that column's name is Process

用 foreach 语法回答

foreach(var row in dplist.Rows)
{
  listView2.Items.Add(row["Process"].ToString());
}
于 2012-08-01T14:18:25.500 回答
1

很难准确地说出项目添加代码看起来不错。
您可以尝试:
1. 将列添加到列表视图(listView2.Columns.Add("Item Column", -2, HorizontalAlignment.Left);)
2. 将列表视图切换到详细信息模式listView2.View = View.Details;

查看来自 msdn 的示例 - http://msdn.microsoft.com/en-us/library/system.windows.forms.listview(v=vs.100).aspx

于 2012-08-01T14:20:40.273 回答