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); --------------------编程问答--------------------
这个 可行 ,所有 add 的方式全用 insert 0 的形式 --------------------编程问答--------------------
//可以设个int i=9999;
//插入一条减一
this.lstDatas.Items.Insert(i, item);
i--;
补充:.NET技术 , C#