有一个数据表dt,有一个Arraylist数组Lista
如何将数据表中内容写入Arraylist,并显示在listbox1中?            for (int i = 0; i < dt.Rows.Count; i++)
            {
                Lista.Add(dt.Rows[i]);               
                listBox1.Items.Add(Lista[i]);
            }
以上程序显示的结果:行数与数据表一样,每行显示的是"system.data.datarow"
不是数据表中的内容

解决方案 »

  1.   

    dt.Rows[i];//取的是DataRow对象
    dt.Rows[i]["xx"].ToString();//xx表示列名,取DataRow的某一列的值
      

  2.   

    你的程序就是对的。不过你的显示不对。你可以这么显示它:
    foreach (object o in Lista)
    {
        listBox1.Items.Add((o As DataRow)["字段"].ToString());
    }
      

  3.   

    也就是我的数据表中的每一行信息已经存入数组,比如Lista[0]中已经存放了数据表dt中的第一行的信息了,只是显示时要分字段显示?
      

  4.   

    你要了解人家 .Items.Add(obj) 能接受什么数据,你才组织你的数据给它。不要硬塞个 DataGridRow 类型的对象给它然后就指责它不显示。你要先去懂得人家控件的知识,然后才用它,不然如果你慌慌张张地问“我该怎么写代码”可能没人管更具体的闲事。毕竟微软不是我家开的公司,我不能叫微软去修改 ListBox 控件专门接受个 DataGridRow 对象去。
      

  5.   

         Lista.Add(dt.Rows[i]);               
    改成
         Lista.Add(dt.Rows[i]["字段名称"].Tostring());