怎样把泛型集合的数据绑定到listview控件上!
3个回答
展开全部
最佳答案
新建一个实体类
在Default.aspx(你添加的页面)页面Page_Load事件处理函数中,
修改DataList控件的数据绑定代码:
SqlCommand cmd = new SqlCommand("SELECT top 4 NAME FROM tb1;
SELECT SDeptName FROM tb2", myConn);
SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
Response.Write("记录集1");
while (dr.Read()) //循环读取数据
{
Response.Write(dr["name"].ToString());
Response.Write("<br />");
}
dr.NextResult(); //如果返回的是多个结果集,DataReader 会提供 NextResult 方法来按顺序自动循环访问这些结果集。
Response.Write("记录集2");
while (dr.Read())
{
Response.Write(dr["sdeptname"].ToString());
Response.Write("<br />");
}
dr.Close();
cmd.Connection.Close();
}
另外一种最简单也是最通用的方法就是循环遍历把所有数据依次添加到listview空间里面。具体代码,
List<li> lst=new List<li>();
foreach (li l in lst)
{
ListViewItem lvitem = new ListViewItem(l.Id);
lvitem.SubItems.Add(t.name);
listView1.Items.Add(lvitem);
}
新建一个实体类
在Default.aspx(你添加的页面)页面Page_Load事件处理函数中,
修改DataList控件的数据绑定代码:
SqlCommand cmd = new SqlCommand("SELECT top 4 NAME FROM tb1;
SELECT SDeptName FROM tb2", myConn);
SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
Response.Write("记录集1");
while (dr.Read()) //循环读取数据
{
Response.Write(dr["name"].ToString());
Response.Write("<br />");
}
dr.NextResult(); //如果返回的是多个结果集,DataReader 会提供 NextResult 方法来按顺序自动循环访问这些结果集。
Response.Write("记录集2");
while (dr.Read())
{
Response.Write(dr["sdeptname"].ToString());
Response.Write("<br />");
}
dr.Close();
cmd.Connection.Close();
}
另外一种最简单也是最通用的方法就是循环遍历把所有数据依次添加到listview空间里面。具体代码,
List<li> lst=new List<li>();
foreach (li l in lst)
{
ListViewItem lvitem = new ListViewItem(l.Id);
lvitem.SubItems.Add(t.name);
listView1.Items.Add(lvitem);
}
展开全部
详细请参考listview控件的详细用法,给你一段代码参考一下,希望能够帮助到你。
/// <summary>
/// ListView显示数据
/// </summary>
/// <typeparam name="T">实体类</typeparam>
/// <param name="list">实体类集合</param>
/// <param name="lv">ListView控件</param>
public void ListViewByModelList<T>(List<T> list, ListView lv)
{
lv.Items.Clear();
foreach (T t in list)
{
PropertyInfo[] prop = t.GetType().GetProperties();
ListViewItem item = new ListViewItem(prop[0].GetValue(t, null).ToString());
item.Tag = prop[0].GetValue(t, null);
for (int i = 1; i < prop.Length; i++)
{
item.SubItems.AddRange(new string[] { prop[i].GetValue(t, null).ToString() });
}
lv.Items.Add(item);
}
}
/// <summary>
/// ListView显示数据
/// </summary>
/// <typeparam name="T">实体类</typeparam>
/// <param name="list">实体类集合</param>
/// <param name="lv">ListView控件</param>
public void ListViewByModelList<T>(List<T> list, ListView lv)
{
lv.Items.Clear();
foreach (T t in list)
{
PropertyInfo[] prop = t.GetType().GetProperties();
ListViewItem item = new ListViewItem(prop[0].GetValue(t, null).ToString());
item.Tag = prop[0].GetValue(t, null);
for (int i = 1; i < prop.Length; i++)
{
item.SubItems.AddRange(new string[] { prop[i].GetValue(t, null).ToString() });
}
lv.Items.Add(item);
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
listview的datasource指向对应的泛型集合类就行了!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询