none
关于windows mobile,如何向listview中添加自动更新后台线程状态数据 RRS feed

  • 问题

  • 就是在listview控件中每隔一会更新出一条后台状态数据,不是替代,是一条条列出来,自动更新。我用的是C#。

    where(true)
    {
      sleep(5 seconds);
     
      insert one item into listview;
    }
    运用类似上面的语句,大概该如何写出程序,最好可以举个简单的例子,咱出来驾到,多有不懂,望各位高手赐教。
    2010年3月31日 16:40

答案

  • hello,

    我觉得可以用Timer来触发你的listview更新,关于listview中数据的插入,可以参考:

       // Create three items and three sets of subitems for each item.
        ListViewItem item1 = new ListViewItem("item1",0);
        // Place a check mark next to the item.
        item1.Checked = true;
        item1.SubItems.Add("1");
        item1.SubItems.Add("2");
        item1.SubItems.Add("3");
        ListViewItem item2 = new ListViewItem("item2",1);
        item2.SubItems.Add("4");
        item2.SubItems.Add("5");
        item2.SubItems.Add("6");
        ListViewItem item3 = new ListViewItem("item3",0);
        // Place a check mark next to the item.
        item3.Checked = true;
        item3.SubItems.Add("7");
        item3.SubItems.Add("8");
        item3.SubItems.Add("9");

        // Create columns for the items and subitems.
        listView1.Columns.Add("Item Column", -2, HorizontalAlignment.Left);
        listView1.Columns.Add("Column 2", -2, HorizontalAlignment.Left);
        listView1.Columns.Add("Column 3", -2, HorizontalAlignment.Left);
        listView1.Columns.Add("Column 4", -2, HorizontalAlignment.Center);

        //Add the items to the ListView.
       listView1.Items.AddRange(new ListViewItem[]{item1,item2,item3});

    以上code来自MSDN:http://msdn.microsoft.com/en-us/library/system.windows.forms.listview(VS.71).aspx

    另外,一直增加,不清除的话,也是不合理的,应该设置一个显示的上限,比如显示20条,就清空,重新计数。可以考虑把数据是放在本地数据库中,需要的时候查询。


    施炯
    2010年4月1日 5:17
    版主

全部回复

  • hello,

    我觉得可以用Timer来触发你的listview更新,关于listview中数据的插入,可以参考:

       // Create three items and three sets of subitems for each item.
        ListViewItem item1 = new ListViewItem("item1",0);
        // Place a check mark next to the item.
        item1.Checked = true;
        item1.SubItems.Add("1");
        item1.SubItems.Add("2");
        item1.SubItems.Add("3");
        ListViewItem item2 = new ListViewItem("item2",1);
        item2.SubItems.Add("4");
        item2.SubItems.Add("5");
        item2.SubItems.Add("6");
        ListViewItem item3 = new ListViewItem("item3",0);
        // Place a check mark next to the item.
        item3.Checked = true;
        item3.SubItems.Add("7");
        item3.SubItems.Add("8");
        item3.SubItems.Add("9");

        // Create columns for the items and subitems.
        listView1.Columns.Add("Item Column", -2, HorizontalAlignment.Left);
        listView1.Columns.Add("Column 2", -2, HorizontalAlignment.Left);
        listView1.Columns.Add("Column 3", -2, HorizontalAlignment.Left);
        listView1.Columns.Add("Column 4", -2, HorizontalAlignment.Center);

        //Add the items to the ListView.
       listView1.Items.AddRange(new ListViewItem[]{item1,item2,item3});

    以上code来自MSDN:http://msdn.microsoft.com/en-us/library/system.windows.forms.listview(VS.71).aspx

    另外,一直增加,不清除的话,也是不合理的,应该设置一个显示的上限,比如显示20条,就清空,重新计数。可以考虑把数据是放在本地数据库中,需要的时候查询。


    施炯
    2010年4月1日 5:17
    版主
  • 基本解决了,thank you!!
    2010年4月1日 9:14