首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

listview 显示大容量数据的时候,出现假死解决思路

2013-01-25 
listview 显示大容量数据的时候,出现假死listview 显示大容量数据的时候,出现假死,现在有111191条数据需要

listview 显示大容量数据的时候,出现假死
listview 显示大容量数据的时候,出现假死,现在有111191条数据需要显示在listview 上面,
代码如下:
if (ht != null)
            {
                if (ht.Count > 0)
                {
                    if (string.IsNullOrEmpty(txtItemID.Text.Trim()))
                    {
                        MessageBox.Show("请输入道具编号!");
                        return;
                    }

                    lblTotalDataNum.Text = ht.Count.ToString();
                    lvwItem.Visible = false;

                    if (ht.ContainsKey(ItemID))
                    {
                        Hashtable temp = (Hashtable)ht[ItemID];
                        foreach (DictionaryEntry de in temp)
                        {
                            ListViewItem item = new ListViewItem(ItemID.ToString());  //道具编号
                            item.SubItems.Add(ItemDB.Instance.GetItemName(ItemID));   //道具名称
                            item.SubItems.Add(de.Value.ToString());                   //道具数量
                            item.SubItems.Add(de.Key.ToString());                   //角色名称
                            lvwItem.Items.Add(item);
                        }
                    }


                    lvwItem.Visible = true;
                    lblCurrentDataNum.Text = lvwItem.Items.Count.ToString();
                    return;
}

如果我输入道具6378的话,hasttable里面就有111191条数据。我需要全部显示在listview里面,但是由于数据量过大,导致listview假死,请高手解答如何避免假死,同时也能显示出所有数据。有代码更好,在此感激不尽。
[解决办法]
GridView有虚拟模式,ListView也有。我项目的数据显示动辄就是千万条,虽然没有用listview,但远离相同。看看这个http://msdn.microsoft.com/zh-cn/library/system.windows.forms.listview.virtualmode.aspx
[解决办法]
大数据分页加异步是解决的根本
[解决办法]
http://www.cnblogs.com/jasenkin/archive/2011/08/22/listview_virtual_model.html

热点排行