哎!我在C#编程里问了一个同样的问题,没人理我啊,也不知道是我问的问题太简单了,不屑一顾,我的问题是这样的我把数据库里的数据读了出来,然后我要把这个数据显示在ListView里是怎么弄得阿,注意阿,我现在把数据从数据库里已经读了出来放到了内存,以DataSet形式存在了阿,我要从DataSet里读出一条一条的语句去填充ListView阿,谢谢高手阿,帮帮忙阿,我已经写出了这么一段代码阿,给我改改吧:
try
{
  listV.Items.Clear() ;
  listV.Refresh() ;
  ListViewItem list = new ListViewItem () ;
  list.SubItems.Clear() ;
  for(int i = 0 ;i< ds.Tables[0].Rows.Count ; i ++)
  {
    list.SubItems[0].Text = ds.Tables[0].Columns["RoomID"].ToString() ;
    list.SubItems.Add( ds.Tables[0].Columns["RoomTypeName"].ToString()) ;
    list.SubItems.Add( ds.Tables[0].Columns["RoomPosition"].ToString()) ;
    list.SubItems.Add( ds.Tables[0].Columns["PeopleNum"].ToString());
    list.SubItems.Add( ds.Tables[0].Columns["BedNum"].ToString());
    list.SubItems.Add( ds.Tables[0].Columns["Re"].ToString());
     listV.Items.Add(list);
   }
}
catch(Exception e)
{
throw new Exception(e.Message);
}
if(listV.Items.Count == 0)
{
MessageBox.Show("记录不存在","没有记录",MessageBoxButtons.OK,MessageBoxIcon.Information) ;
}

解决方案 »

  1.   

    try
    {
      listV.Items.Clear() ;
      listV.Refresh() ;
      for(int i = 0 ;i< ds.Tables[0].Rows.Count ; i ++)
      { 
        ListViewItem list = new ListViewItem () ;
        list.SubItems[0].Text = ds.Tables[0].Columns["RoomID"].ToString() ;
        list.SubItems.Add( ds.Tables[0].Columns["RoomTypeName"].ToString()) ;
        list.SubItems.Add( ds.Tables[0].Columns["RoomPosition"].ToString()) ;
        list.SubItems.Add( ds.Tables[0].Columns["PeopleNum"].ToString());
        list.SubItems.Add( ds.Tables[0].Columns["BedNum"].ToString());
        list.SubItems.Add( ds.Tables[0].Columns["Re"].ToString());
         listV.Items.Add(list);
       }
    }
    catch(Exception e)
    {
    throw new Exception(e.Message);
    }
    if(listV.Items.Count == 0)
    {
    MessageBox.Show("记录不存在","没有记录",MessageBoxButtons.OK,MessageBoxIcon.Information) ;
    }
      

  2.   

    ListViewItem list = new ListViewItem () ;
        list.Text = ds.Tables[0].Columns["RoomID"].ToString() ;
        list.SubItems.Add( ds.Tables[0].Columns["RoomTypeName"].ToString()) ;
        list.SubItems.Add( ds.Tables[0].Columns["RoomPosition"].ToString()) ;
        list.SubItems.Add( ds.Tables[0].Columns["PeopleNum"].ToString());
        list.SubItems.Add( ds.Tables[0].Columns["BedNum"].ToString());
        list.SubItems.Add( ds.Tables[0].Columns["Re"].ToString());
         listV.Items.Add(list);
    /上面有还有问题,应该这样写
      

  3.   

    SubItems.Add后面跟的应该是对象而不是集合
    你给的值是Columns里面的所有数据
    应该限定行号:ds.Tables[0].Rows[i]["ds.Tables[0].Columns"].ToString()
    另外,你这样好象做出来的效果很奇怪
      

  4.   

    foreach( DataRow dr in ds.Tables[0].Rows )
    {
    ListViewItem list = listV.Items.Add( dr["RoomID"].ToString() ) ;
    list.SubItems.Add( dr["RoomTypeName"].ToString()) ;
    list.SubItems.Add( dr["RoomPosition"].ToString()) ;
    list.SubItems.Add( dr["PeopleNum"].ToString());
    list.SubItems.Add( dr["BedNum"].ToString());
    list.SubItems.Add( dr["Re"].ToString());}
      

  5.   

    把如下这部分改成如上即可
    for(int i = 0 ;i< ds.Tables[0].Rows.Count ; i ++)
    {
    ListViewItem list = new ListViewItem () ;
    list.SubItems[0].Text = ds.Tables[0].Columns["RoomID"].ToString() ;
    list.SubItems.Add( ds.Tables[0].Columns["RoomTypeName"].ToString()) ;
    list.SubItems.Add( ds.Tables[0].Columns["RoomPosition"].ToString()) ;
    list.SubItems.Add( ds.Tables[0].Columns["PeopleNum"].ToString());
    list.SubItems.Add( ds.Tables[0].Columns["BedNum"].ToString());
    list.SubItems.Add( ds.Tables[0].Columns["Re"].ToString());
    listV.Items.Add(list);

      

  6.   

    ListViewItem list = new ListViewItem () 要放到for外面!