当前位置:编程学习 > C#/ASP.NET >>

listview 顺序显示问题

因为要动态接受串口发来的数据,并在listview上逐条显示,所以显示顺序要从下往上,就是第一条数据显示后在接收到第2条数据的时候,第2条数据在第一条的上面,这样方便看,不然的话,新的数据都跑到下面去了,还得托滚动条,怎么解决啊 --------------------编程问答-------------------- 用Insert向第0行插入新的数据。 --------------------编程问答-------------------- 不过每次触发的时候都是用
  ListViewItem item = new ListViewItem(qy);

                        item.SubItems.Add(xl);
                        item.SubItems.Add(bus);
                        item.SubItems.Add(driver);
                        item.SubItems.Add(strdate);
                        this.listView1.Items.Add(item);
添加,insert 第0行怎么写 --------------------编程问答-------------------- ListViewItem item = new ListViewItem("测试");

this.lstDatas.Items.Insert(0, item); --------------------编程问答-------------------- 套用楼主代码修改后是这样的:
ListViewItem item = new ListViewItem(qy);

item.SubItems.Add(xl);
item.SubItems.Add(bus);
item.SubItems.Add(driver);
item.SubItems.Add(strdate);
this.listView1.Items.Add(0, item);
--------------------编程问答-------------------- 还有一个问题问一下,就是最新显示的记录和先前的记录颜色不同,就是说最新的显示蓝色,以前的显示黑色,怎么写呢?谢谢 --------------------编程问答-------------------- 你可以自定义绘制,参考如下:

ListView.OwnerDraw = true;

private void lstDatas_DrawItem(object sender, DrawListViewItemEventArgs e)
{
using (SolidBrush brush = new SolidBrush(Color.Green))
{
e.Graphics.FillRectangle(brush, e.Bounds);
}
e.DrawText();
}

private void lstDatas_DrawColumnHeader(object sender, DrawListViewColumnHeaderEventArgs e)
{
e.DrawText();
} --------------------编程问答-------------------- this.listView1.Items.Add(0, listViewitem); --------------------编程问答-------------------- 学习了。呵呵呵 

应该是这样的 ListView1.Items.Add(0,listViewItem); --------------------编程问答--------------------
引用 3 楼  的回复:
ListViewItem   item   =   new   ListViewItem( "测试 ");

this.lstDatas.Items.Insert(0,   item);



这个 可行 ,所有 add 的方式全用 insert 0 的形式 --------------------编程问答--------------------

//可以设个int i=9999;
//插入一条减一
this.lstDatas.Items.Insert(i, item);
i--;
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,