在WINFORM中我们习惯使用datagridview和数据集适配器搭配使用,而listview更多时候是从数据库用read数据然后添加到listview的项中,下面将使用datagridview和适配器以及数据集完成数据加载操作。
完成基本SQL语句和数据集适配器的创建和填充
string sql = "select * from Student";
adapter = new SqlDataAdapter(sql,db.Conn);
ds = new DataSet();
adapter.Fill(ds,"all");
UpdateListView(ds,"");//调用方法传递
调用方法判断加载数据时有没有约束条件
private void UpdateListView(DataSet ds ,string a)
{
if (string.IsNullOrEmpty(a))
{
foreach (DataRow item in ds.Tables["all"].Rows)//无约束条件时全部加载
{
ListViewItem items = new ListViewItem(item["ID"].ToString());
items.SubItems.AddRange(new string[] { item["Name"].ToString(), item["Sex"].ToString(), item["Age"].ToString(), item["Grade"].ToString(), item["Address"].ToString() });
this.lvList.Items.Add(items);
}
}
else
{
DataView dv = new DataView(ds.Tables["all"]);//使用视图
dv.RowFilter = string.Format("Name = '{0}'", a);//使用过滤
DataTable dt = dv.ToTable();//转为表
foreach (DataRow item in dt.Rows)
{
ListViewItem items = new ListViewItem(item["ID"].ToString());
items.SubItems.AddRange(new string[] { item["Name"].ToString(), item["Sex"].ToString(), item["Age"].ToString(), item["Grade"].ToString(), item["Address"].ToString() });
this.lvList.Items.Add(items);
}
}
}
以上是一个简单加载方法,可以实现数据的加载和根据条件的判断加载。