更新完后,返回到listview 就会刷新数据,然后继续选中之前的数据。。
当我把滚动条移动打下面,listview更新后。。。 滚动条就跑到最上面去了。。
怎么记住更新前的滚动条位子,更新后再把滚动条定位到之前的位子??
空间不能访问了,图片后补上。。
13 个解决方案
#1
#2
求解决方案。。。
#3
记住当时选中记录的索引,刷新后要通过发消息(api函数sendmessage,发送wm_scroll消息)去控制滚动
#4
#5
winform 哪里有session。。
#6
3L 求具体方法,思路我是懂的,就是不知道怎么实现。。
#7
向下滚动
[DllImport("user32")]
private static extern int SendMessage(IntPtr hWnd,int Msg,int wParam,int lParam);
private void button1_Click(object sender, EventArgs e)
{
SendMessage(listView1.Handle, 0x0115, 1, 0);
}
#8
#9
3L 是记录listview选中行的索引吗?
#10
SendMessage(listView1.Handle, 0x0115, 1, 0);
哪个参数是索引?
#11
SendMessage(listView1.Handle, 0x0115, 1, 0);
我试了一下,运行一下这个代码,滚动条就滚动一点的。。
蛋似我怎么知道要运行多少下呢。。
#12
设置listview的topitem
#13
记住当前的listview.topitem.index ,下次设置
listciew.topitem = listview.item【listview.topitem.index 】即可
listciew.topitem = listview.item【listview.topitem.index 】即可
#1
#2
求解决方案。。。
#3
记住当时选中记录的索引,刷新后要通过发消息(api函数sendmessage,发送wm_scroll消息)去控制滚动
#4
图不是很清楚 保存上次滚动条的位置
用一个session来存他的索引。绑定之后在把session中的索引赋给listview中选中的索引
listview.setSelection(rowNumber)。
参考
参考
用一个session来存他的索引。绑定之后在把session中的索引赋给listview中选中的索引
listview.setSelection(rowNumber)。
参考
参考
#5
winform 哪里有session。。
#6
3L 求具体方法,思路我是懂的,就是不知道怎么实现。。
#7
向下滚动
[DllImport("user32")]
private static extern int SendMessage(IntPtr hWnd,int Msg,int wParam,int lParam);
private void button1_Click(object sender, EventArgs e)
{
SendMessage(listView1.Handle, 0x0115, 1, 0);
}
#8
#9
3L 是记录listview选中行的索引吗?
#10
SendMessage(listView1.Handle, 0x0115, 1, 0);
哪个参数是索引?
#11
SendMessage(listView1.Handle, 0x0115, 1, 0);
我试了一下,运行一下这个代码,滚动条就滚动一点的。。
蛋似我怎么知道要运行多少下呢。。
#12
设置listview的topitem
#13
记住当前的listview.topitem.index ,下次设置
listciew.topitem = listview.item【listview.topitem.index 】即可
listciew.topitem = listview.item【listview.topitem.index 】即可