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)の値をリストビューに表示しましたが、リストビューには何も表示されません。また、メッセージbox()は、ループの実行時にデータベース値を1つずつ正しく表示します。問題は、リストビューに値を追加することにあるはずです。ワットはこのコードで間違っています、誰かがplsを説明できますか?英語が下手でごめんなさい!

よろしくお願いします、ウラガ

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 に答える