private void ShowDeckList(CardDescription[] Cards, VirtualListView listview) { ListViewItem[] resultItem = new ListViewItem[Cards.Length]; for (int i = 0; i < Cards.Length; i++) { CardDescription card = Cards[i]; bool largeicon = false; if (listViewEx1.View == View.LargeIcon) { largeicon = true; } resultItem[i] = ListViewItemFactory.GetItemByCard(card, largeicon); } listview.BeginUpdate(); if (listview.VirtualMode) { View v = listview.View; listview.View = View.List; listview.VirtualListSize = Cards.Length; listview.View = v; } else { listview.Items.Clear(); listview.Items.AddRange(resultItem); } listview.EndUpdate(); }
private void listViewEx3_RetrieveVirtualItem(object sender, RetrieveVirtualItemEventArgs e) { if (FusionCards.Length == 0 || e.ItemIndex >= FusionCards.Length) { e.Item = emptyItem; return; } CardDescription card = FusionCards[e.ItemIndex]; bool largeicon = false; if (listViewEx1.View == View.LargeIcon) { largeicon = true; } e.Item = ListViewItemFactory.GetItemByCard(card, largeicon); }
public void DoSearch(string queryString) { pnSameTitle.Visible = true; //pnSameTitle.Enabled = false; pnSameTitle.Update(); CardLibrary cardLibrary = CardLibrary.GetInstance(); string querystring = QueryMapper.Mapper(queryString); string filter = QueryMapper.Mapper(GetFilter()); if (string.Equals(queryString.Trim(), "")) { CurrentQueryString = filter; } else if (string.Equals(filter, "")) { CurrentQueryString = querystring; } else { CurrentQueryString = string.Format("+({0}) +({1})", querystring, filter); } if (CurrentQueryString.Trim().Equals("")) { Cards = cardLibrary.GetCards(sorter.GetSortFields()); } else { Cards = cardLibrary.Search(CurrentQueryString, sorter.GetSortFields()); } bool largeicon = false; if (listViewEx1.View == View.LargeIcon) { largeicon = true; } listViewEx1.BeginUpdate(); if (listViewEx1.VirtualMode) { View v = listViewEx1.View; listViewEx1.View = View.List; listViewEx1.VirtualListSize = Cards.Length; listViewEx1.View = v; } else { listViewEx1.Items.Clear(); for (int i = 0; i < Cards.Length; i++) { listViewEx1.Items.Add(ListViewItemFactory.GetItemByCard(Cards[i], largeicon)); } //listViewEx1.Items.AddRange(resultItem); } listViewEx1.EndUpdate(); this.Text = "结果数:" + Cards.Length; CountCards(); pnSameTitle.Visible = false; listViewEx1.Update(); //pnSameTitle.Enabled = true; if (listViewEx1.View == View.LargeIcon && !Global.loadPicEnd) { CheckPics(); } }