---恢复内容开始---
在winform开发中经常会使用listView控件,如果要查询subitem子项有几种方式呢?
1.使用循环遍历方式:(2.0)
/// <summary>
/// 查找listview中特定列所包含的指定值所在的index
/// </summary>
/// <param name="view">要查找的listview控件</param>
/// <param name="name">指定的列name</param>
/// <param name="val">要查找的值</param>
/// <returns>查找到的值,-1为没查到</returns>
public int getListViewId(ListView view, string name, string val)
{
for (int i = 0; i < view.Items.Count; i++)
{
if (view.Items[i].SubItems[name].Text == val)
return i;
}
return -1;
}
2.使用linq(3.5+)
在net framework新版本中可以使用linq查询,几大的简化了代码量,提升了可读性.
ListViewItem li = ListViewUser.Items.Cast<ListViewItem>().First(x => x.Text == "1005" && x.SubItems["city"].Text == "北京"); string val = li.SubItems["city"].Text;
其他方法还没找到,做个记录,备忘
---恢复内容结束---
原文:http://www.cnblogs.com/summary/p/4526671.html