c#中ListView如何搜索某个子项,谢谢!!

wwwww112233 2013-03-13 01:26:50
小弟有个项目,需要在一个控件上显示数据,并且根据数据更新某部分数据。我现在选择ListView,因为据说这个控件比较有效率。
我的数据格式如下:

.....
01班 a b c
01班 b c d
02班 h n j
01班 n n n
.....

一共大概200多条,每条数据整体是唯一的,但是需要较快频率的更新。
问题:
1、比如我现在要更新数据(01班 n n n),我怎么样才能搜索到这个数据的索引号index进行修改?
我查了FindItemWithText(“01班”)方法只能找到第一项,而listview1.Items.Find()虽然可以找到多个返回数组 listview[],但是Find后面的参数和FindItemWithText不一样。请问还有什么办法实现吗?
2、请问实现类似的功能,除了选listview 有更好的选择吗?系统运行的时候每秒都要读取大量的数据,高频率刷新,如果每次都全部重写会闪烁不停。。。

谢谢!!!!!!
...全文
1244 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwwww112233 2013-03-14
  • 打赏
  • 举报
回复
引用 4 楼 gxingmin 的回复:
类似这样的查找 ListViewItem li = listView1.Items.Cast<ListViewItem>().First(x => x.Text == "01班" && x.SubItems[1].Text == "n" && x.SubItems[2].Text == "n"); if(li!=null) //……
谢谢!! 我用类似的方法解决了,不过我那个没你这个好看。我对linq不熟悉。 我的是 ListViewItem[] t = Lview.Items.Find(lv.Name, true); IEnumerable<ListViewItem> ie = t.Where(lvi => lvi.Text == lv.Text && lvi.SubItems[1].Text == p); ListViewItem thisl = ie.ElementAt(0);
gxingmin 2013-03-13
  • 打赏
  • 举报
回复
类似这样的查找 ListViewItem li = listView1.Items.Cast<ListViewItem>().First(x => x.Text == "01班" && x.SubItems[1].Text == "n" && x.SubItems[2].Text == "n"); if(li!=null) //找到了 else //没找到 红色部分是你的查询条件
bdmh 2013-03-13
  • 打赏
  • 举报
回复
你还可以用linq
wwwww112233 2013-03-13
  • 打赏
  • 举报
回复
引用 1 楼 yysyangyangyangshan 的回复:
你用个winform还是wpf啊,如果wpf的直接去改绑定的类就行了。 winform的话,实在不行遍历一遍,查出所有,虽然有些慢。不过也可以自己写一个类对控件进行绑定,只修改绑定类的数据也行,要花点时间写。 以前自己用过一个继承dataview的控件,数据就是写了一个类进行绑定,只要改类里的数据就好了
我没接触过wpf,都是用winform 谢谢
杨友山 2013-03-13
  • 打赏
  • 举报
回复
你用个winform还是wpf啊,如果wpf的直接去改绑定的类就行了。 winform的话,实在不行遍历一遍,查出所有,虽然有些慢。不过也可以自己写一个类对控件进行绑定,只修改绑定类的数据也行,要花点时间写。 以前自己用过一个继承dataview的控件,数据就是写了一个类进行绑定,只要改类里的数据就好了

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧