偶现在有个数据表,数据共三列,八行
如何将数据用listviewiten 加载到listview中,
  //this.cs_xml.ds.Tables[index].Rows.Count 表示数据表中的行数 
     for(int j = 0 ; j < this.cs_xml.ds.Tables[index].Rows.Count; j++)
     { this.lvi[j].Text = this.cs_xml.ds.Tables[index].Rows[j][0].ToString();
this.lvi[j].SubItems.Add(this.cs_xml.ds.Tables[index].Rows[j][1].ToString());
this.lvi[j].SubItems.Add(this.cs_xml.ds.Tables[index].Rows[j][2].ToString());
      }      for(int i = 0 ; i < this.lvi.Length ; i ++)
     {
this.listViewFile.Items.Add(this.lvi[i]);  //用listview加载该数据
     }

解决方案 »

  1.   

    不知道有没有错误,
    this.lvi[j].Text ;
    this.lvi[j].SubItems.Add();
    this.lvi[j].SubItems.Add();
    这三个是什么意思啊?我加载第一行的一列,二列,三列的数据是这样加载吗?
      

  2.   

    listviewnode node = new listviewnode("1")'第一列
    node.subnodes.add("2")'第二列
    node.subnodes.add("3")'第三列
    listview1.items.add(node)'把整行加到listview里去
      

  3.   

    this.listViewFile.Items.Add(new ListViewItem(new string[]{"test", "test"....}));可以用这种写法
      

  4.   

    ListViewItem item = new ListViewItem("NewItem"); 
         item.SubItems.AddRange(new string[]{"SubItem1", "SubItem2")}; 
         listView1.Items.Add(item); 
         listView1.Items.Add(new ListViewItem(new string[]{"item1", "item2", "item3", "item4"}); 
         listView1.View = View.Details;
      

  5.   

    Sample code as follows:ListViewItem itmNew = null;
    for(int j = 0 ; j < this.cs_xml.ds.Tables[index].Rows.Count; j++)
    {
       itmNew = listViewFile.Items.Add( cs_xml.ds.Tables[index].Rows[j][0].ToString() );
       itmNew.SubItems.Add(this.cs_xml.ds.Tables[index].Rows[j][1].ToString());
       itmNew.SubItems.Add(this.cs_xml.ds.Tables[index].Rows[j][2].ToString());
    }-----------
    By the way, you should set "detail" to your listview type
    and add columns into your listview.
      

  6.   

    ListViewItem itmNew = null;
    for(int j = 0 ; j < this.cs_xml.ds.Tables[index].Rows.Count; j++)
    {
       this.lvi[j].SubItems.Add(this.cs_xml.ds.Tables[index].Rows[j][0].ToString());
       this.lvi[j].SubItems.Add(this.cs_xml.ds.Tables[index].Rows[j][1].ToString());
       this.lvi[j].SubItems.Add(this.cs_xml.ds.Tables[index].Rows[j][2].ToString());
    }正确,但需要将listview的View属性设置为detail,而且个人感觉,checkBox无法去掉,不知道大家怎么弄的,最后用listview将listviewitem加载 ok
      

  7.   

    可以这样写:
    this.listView1.Items.Clear();
     while (i<=ds.Tables[ds0].Rows.Count -1)
    {
    j=0;this.listView1.Items.Add(ds.Tables[ds0].Rows[i].ItemArray[j].ToString());
    j=1;
    while (j<=ds.Tables[ds0].Columns.Count -1)
    {
    this.listView1.Items[i].SubItems.Add(ds.Tables[ds0].Rows[i].ItemArray[j].ToString()); j=j+1;
    }
    i=i+1;
    }这个东东应该简单
      

  8.   

    你把我的copy过去直接可以用,不管是多少行多少列。
    只是你要改一下数据源,需要将listview的View属性设置为detail,如果你的listView名称和我发给你的不同也要改为你的
      

  9.   

    ListViewItem item = new ListViewItem();
    item.SubItems[0].Text = "第一列";
    item.SubItems.Add("第二");
    item.SubItems.add("第三");
    ---------------------------
    listview的View属性设置为detail