积极答复者
C# 关于给ListViewItem循环赋值的问题

问题
-
...上方省略 我是用数据库查出来的记录,用一个数组接收,但是记录有100条,把数组里的元素一个个的赋到listview上这样太麻烦了,并且不能实现动态的效果,老师们有什么办法吗?
this.lv_musiclist.Columns.Add("歌曲名", 300);
ListViewItem gq1 = new ListViewItem(sg[0], 0);
this.lv_musiclist.Items.Add(gq1);
ListViewItem gq2 = new ListViewItem(sg[1], 1);
this.lv_musiclist.Items.Add(gq2);
ListViewItem gq3 = new ListViewItem(sg[2], 2);
this.lv_musiclist.Items.Add(gq3);
ListViewItem gq4 = new ListViewItem(sg[3], 3);
this.lv_musiclist.Items.Add(gq4);
答案
-
您好,
或许您能使用「Data binding a ListView」,请参考:Data binding a ListView
不然就用For...NextSqlDataAdapter da = new SqlDataAdapter("SELECT * FROM Student", con); da.Fill(ds); DataTable dt = new DataTable(); dt = ds.Tables[0]; listView1.View = View.Details; listView1.GridLines = true; listView1.Columns.Add("Student_No", 150, HorizontalAlignment.Left); foreach(DataRow dr in dt.Rows) { ListViewItem lvi = new ListViewItem(dr["Student_No"].ToString()); lvi.Tag = dr; listView1.Items.Add(lvi); }
以上說明若有錯誤請指教,謝謝。
亂馬客blog: http://www.dotblogs.com.tw/rainmaker/- 已标记为答案 qq31992108 2012年4月4日 7:01
-
Hi qq31992108,
亂馬客用SqlAdapter作为SqlDataAdapter 一个数据存储集来得到二维数据并且填充到DataSet 实例中,并且在接下来得到DataSet中的DataTable的每一行DataRow,用Foreach新建每个ListViewItem实例新建进去。
Jason Wang [MSFT]
MSDN Community Support | Feedback to us
- 已编辑 Jason Dot WangModerator 2012年4月5日 2:37
- 已标记为答案 Jason Dot WangModerator 2012年4月11日 5:54
全部回复
-
您好,
或许您能使用「Data binding a ListView」,请参考:Data binding a ListView
不然就用For...NextSqlDataAdapter da = new SqlDataAdapter("SELECT * FROM Student", con); da.Fill(ds); DataTable dt = new DataTable(); dt = ds.Tables[0]; listView1.View = View.Details; listView1.GridLines = true; listView1.Columns.Add("Student_No", 150, HorizontalAlignment.Left); foreach(DataRow dr in dt.Rows) { ListViewItem lvi = new ListViewItem(dr["Student_No"].ToString()); lvi.Tag = dr; listView1.Items.Add(lvi); }
以上說明若有錯誤請指教,謝謝。
亂馬客blog: http://www.dotblogs.com.tw/rainmaker/- 已标记为答案 qq31992108 2012年4月4日 7:01
-
Hi qq31992108,
亂馬客用SqlAdapter作为SqlDataAdapter 一个数据存储集来得到二维数据并且填充到DataSet 实例中,并且在接下来得到DataSet中的DataTable的每一行DataRow,用Foreach新建每个ListViewItem实例新建进去。
Jason Wang [MSFT]
MSDN Community Support | Feedback to us
- 已编辑 Jason Dot WangModerator 2012年4月5日 2:37
- 已标记为答案 Jason Dot WangModerator 2012年4月11日 5:54