将DataSet的结果插入ListView

时间:2014-11-20 11:50:22

标签: c# windows-mobile windows-ce

我尝试将DataSet的结果插入ListView,我得到了Strange结果。

我需要看到这样的结果:

Fname | Lname | Age
===================
AA    | AA1   |  10
BB    | BB1   |  20
CC    | CC1   |  30
DD    | DD1   |  40

我试试这个:

SQL = "select Fname,Lname,Age from MyCount";
dsView = new DataSet();
adp = new SqlCeDataAdapter(SQL, Conn_Count);
adp.Fill(dsView, "MyCount");
adp.Dispose();

DataTable dplist = dsView.Tables["MyCount"];
for (int i = 0; i < dplist.Rows.Count; i++)
{
   DataRow drow = dplist.Rows[i];
   ListViewItem lvi = new ListViewItem(drow["Fname"].ToString());
   //lstTasks.Columns.Add("Item Column", -2, HorizontalAlignment.Right);
   lstTasks.Items.Add(lvi);
}

但我只有一个字段,我看到结果像这样的水平:

AA  BB  CC  DD

我使用C#for Windows-CE

感谢

2 个答案:

答案 0 :(得分:0)

你也添加这些线吗?

ListViewItem itemLastName = new ListViewItem(drow["Lname"].ToString());
ListViewItem itemAge = new ListViewItem(drow["Age"].ToString());

lstTasks.Items.Add(itemLastName);
lstTasks.Items.Add(itemAge);

答案 1 :(得分:0)

列表视图不能绑定数据: - (

您需要创建一个包含您要添加的'rows'的字符串[]数组,然后将此字符串arry添加到listview:

foreach(DataColumn thiscol in ds.Tables[0].Columns)
{
    lvItems.Columns.Add(thiscol.ColumnName, 60, HorizontalAlignment.Left);
}
foreach(DataRow thisrow in ds.Tables[0].Rows)
{
    string[] fields = new string[thisrow.ItemArray.Length];
    for(int iCount = 0; iCount < fields.Length; iCount++)
    {
        fields[iCount] = thisrow[iCount].ToString();
    }
    lvItems.Items.Add(new ListViewItem(fields));
}

发现于http://www.pcreview.co.uk/forums/re-databinding-listview-cf-t1298573.html