以下方法:只要提供一个数据集DataSet,即可实现使用ListView显示数据:
#region 将数据集添加到listView中
public void FillList(ListView listView1, DataSet ds)
{
int count = 0;
listView1.GridLines = true;
listView1.View = View.Details;//定义列表显示的方式
listView1.HeaderStyle = ColumnHeaderStyle.Clickable;
try
{
if (ds != null)
{
int RowCount = ds.Tables[0].Rows.Count; //总记录
int ColumnCount = ds.Tables[0].Columns.Count;
listView1.Clear();
//为listview添加columnname
for (int j = 0; j < ColumnCount; j++)
{
string ColumnName = ds.Tables[0].Columns[j].ColumnName;
listView1.Columns.Add(ColumnName, 130, HorizontalAlignment.Left);
}
//循环每一行
for (int i = 0; i < RowCount; i++)
{
string itemName = ds.Tables[0].Rows[i][0].ToString();
ListViewItem item = new ListViewItem(itemName, i);
//循环每一列
for (int j = 1; j < ColumnCount; j++)
{
item.SubItems.Add(ds.Tables[0].Rows[i][j].ToString());
}
//将整理好的item加入到listview
listView1.Items.Add(item);
count += 1;
}
//隔行显示不同的颜色
for (int k = 0; k < listView1.Items.Count; k++)
{
if (listView1.Items[k].SubItems[2].Text.Trim() == "Y")
{
listView1.Items[k].BackColor = Color.GreenYellow;
}
//if (k % 2 == 0)
//{
//
listView1.Items[k].BackColor = Color.WhiteSmoke;
//}
}
}
else
{
//label1.Text = "与查询条件一致资料比数" + "0";
}
}
catch (Exception ee)
{
MessageBox.Show("抱歉!错误原因: " + ee.ToString());
}
}
#endregion
谢谢各位!