:关于listbox的item前动态添加行号的有关问题
请教各位:关于listbox的item前动态添加行号的问题
请问各位怎么在listbox的每个item前,动态添加行号。比如我新建了个listbox内容是:
assd
faa
ff
添加行号后是:
1 assd
2 faa
3 ff
删第2行后,效果会是
1 assd
2 ff
我真的实在想不出办法了,请教各位如何实现。先谢过
------解决思路----------------------
你是要手动添加内容的时候加上行号吗, 那就添加内容时加个判断当前是第几行 再把行号加载字符内容前面, 如果添加item的时候自动添加行号, 那要重写ListBox控件了
------解决思路----------------------
你应该考虑换个其它控件,例如 listview、grid之类的。
------解决思路----------------------
用正则表达式匹配数字,然后循环修改
------解决思路----------------------
listbox 的每个 item 都可以是多列的
你把序号作为第一列,正文作为第二列不就可以了?
遍历修改第一列,应该不是难事吧
------解决思路----------------------
6楼的方法说的不错的,用两列就好,如果你原来的数据是list,直接通过下面方法就可以转为两列带索引编号的数据源,再绑上去就行,index都是索引。
如果你不想用两列,就像这里这样用就行了,不过你后续还要进行判断删除,这样放在一列里并不太好。
请问各位怎么在listbox的每个item前,动态添加行号。比如我新建了个listbox内容是:
assd
faa
ff
添加行号后是:
1 assd
2 faa
3 ff
删第2行后,效果会是
1 assd
2 ff
我真的实在想不出办法了,请教各位如何实现。先谢过
------解决思路----------------------
你是要手动添加内容的时候加上行号吗, 那就添加内容时加个判断当前是第几行 再把行号加载字符内容前面, 如果添加item的时候自动添加行号, 那要重写ListBox控件了
------解决思路----------------------
你应该考虑换个其它控件,例如 listview、grid之类的。
------解决思路----------------------
用正则表达式匹配数字,然后循环修改
------解决思路----------------------
listbox 的每个 item 都可以是多列的
你把序号作为第一列,正文作为第二列不就可以了?
遍历修改第一列,应该不是难事吧
------解决思路----------------------
6楼的方法说的不错的,用两列就好,如果你原来的数据是list,直接通过下面方法就可以转为两列带索引编号的数据源,再绑上去就行,index都是索引。
var newlist = list.Select((p, index) => new { i = index + 1, str = p }).ToList();
如果你不想用两列,就像这里这样用就行了,不过你后续还要进行判断删除,这样放在一列里并不太好。
var newlist = list.Select((p, index) => (index + 1).ToString() + " " + p).ToList();