listview与datatable之间的转换
涉及到数据库的编程,经常需要在listview与datatable之间传递数据
sinug System; sinug System.Collections.Generic; using System.Text; using System.Data; using System.Data.SqlClient; using System.Data.OleDb; using System.Windows.Forms; using System.Drawing; namespace ListViewFill { class ListViewFill { //fill the listview static public void dataTableToListview(ListView lv, DataTable dt) { if (dt != null) { lv.Items.Clear(); lv.Columns.Clear(); for (int i = 0; i < dt.Columns.Count; i++) { lv.Columns.Add(dt.Columns[i].Caption.ToString()); } foreach (DataRow dr in dt.Rows) { ListViewItem lvi = new ListViewItem(); lvi.SubItems[0].Text = dr[0].ToString(); for (int i = 1; i < dt.Columns.Count; i++) { lvi.SubItems.Add(dr[i].ToString()); } lv.Items.Add(lvi); } lv.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); } } static public void listViewToDataTable(ListView lv,DataTable dt) { int i, j; DataRow dr; dt.Clear(); dt.Columns.Clear(); //生成DataTable列头 for (i = 0; i < lv.Columns.Count; i++) { dt.Columns.Add(lv.Columns[i].Text.Trim(), typeof(String)); } //每行内容 for (i = 0; i < lv.Items.Count; i++) { dr = dt.NewRow(); for (j = 0; j < lv.Columns.Count; j++) { dr[j] = lv.Items[i].SubItems[j].Text.Trim(); } dt.Rows.Add(dr); } } } }
路在前进的人眼中是没有尽头的!

浙公网安备 33010602011771号