如题,程序动态生成的access数据库,如何让listview方便的显示数据库内容?最好能实现增改操作
谢谢!

解决方案 »

  1.   

     读取到 dataset
    public static void DisplayDataSet(ListView listView, DataSet dataSet, bool includeNo)
            {
                if(dataSet == null)
                {
                    return;
                }
                listView.Items.Clear();
                DataTable dataTable = dataSet.Tables[0];
                int rowno = 0;
                ListViewItem item;
                foreach(DataRow dataRow in dataTable.Rows)
                {                
                    item = new ListViewItem();
                    rowno++;
                    if(includeNo)
                    {
                        item.Text = rowno.ToString();
                    }
                    for (int i = 0; i < dataTable.Columns.Count; i++)
                    {
                        string str = dataRow[i].ToString();
                        item.SubItems.Add(dataRow[i].ToString());
                    }
                    listView.Items.Add(item);
                }
            }
      

  2.   

    貌似没能成功显示我在msdn找到一段代码成功实现了        DataTable To ListView
            public static void ShowDataInListView(DataTable dt, ListView lst)
            {
                lst.Clear();
                lst.View = System.Windows.Forms.View.Details;
                lst.AllowColumnReorder = true;//用户可以调整列的位置
                lst.GridLines = true;            int RowCount, ColCount, i, j;
                DataRow dr = null;            if (dt == null) return;
                RowCount = dt.Rows.Count;
                ColCount = dt.Columns.Count;
                //添加列标题名
                for (i = 0; i < ColCount; i++)
                {
                    lst.Columns.Add(dt.Columns[i].Caption.Trim(), lst.Width / ColCount, HorizontalAlignment.Left);
                }            if (RowCount == 0) return;
                for (i = 0; i < RowCount; i++)
                {
                    dr = dt.Rows[i];
                    lst.Items.Add(dr[0].ToString().Trim());
                    for (j = 1; j < ColCount; j++)
                    {
                        lst.Items[i].SubItems.Add((string)dr[j].ToString().Trim());
                    }
                }
            }