Vyhledávání v ListView – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Vyhledávání v ListView – .NET – Fórum – Programujte.comVyhledávání v ListView – .NET – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
Slim0
Návštěvník
4. 3. 2012   #1
-
0
-

Zdravím,

mám menší problém s vyhledáváním výrazů pro listview. Udělal jsem, že se při zadávání písmena do textboxu začnou filtrovat itemy v listview a itemy, které nesouhlasí, tak se smažou. Problém je v tom, že né všechny itemy v listview se přímo smažou. Některé, které absolutně nesouhlasí s vyhledávaným výrazem zůstanou vidět, namísto, aby se smazaly.

Kód k filtrování pomocí textu z textboxu:

for (int items_v = 0; items_v < listView.Items.Count; items_v++)
                {
                    if (listView.Items[items_v].SubItems[3].Text.IndexOf(toolStripTextBox_vyraz.Text) > -1 || listView.Items[items_v].SubItems[3].Text.ToUpper().IndexOf(toolStripTextBox_vyraz.Text.ToUpper()) > -1)
                    {
                        listView.TopItem = listView.Items[items_v];
                        listView.Items[items_v].BackColor = Color.Aqua;
                    }
                    else
                    {
                        listView.Items[items_v].Remove();
                    }
                }

Předem děkuji za Vaši pomoc!

Nahlásit jako SPAM
IP: 90.179.211.–
liborb
~ Redaktor
+18
Guru
5. 3. 2012   #2
-
0
-

Pokud chceš z ListView mazat jen některé položky dle indexů, tak je musíš procházet buď od konce nebo při smazání položky na daném indexu nepřecházet na další neb smazáním dostanou všechny položky za smazaným o jedničku nižší index.

Zasláno z mobilního telefonu.

Nahlásit jako SPAM
IP: 80.84.1.–
Slim0
Návštěvník
11. 3. 2012   #3
-
0
-

Tak teď mi to došlo, akorát netuším, jak to provést :-( Nefunguje mi mozek, hodil by se mi nějaký příklad. Snažím se projet google, ale nic korektního nebo podobného nemohu najít.

Díky!

Nahlásit jako SPAM
IP: 90.179.211.–
LukoSS
~ Anonymní uživatel
73 příspěvků
11. 3. 2012   #4
-
0
-

#3 Slim
Můžeš to udělat i tak, že místo smazání té položky jí jen nastavíš atribut Tag na nějakou hodnotu a pak ty položky projdeš ještě jednou a odstraníš všechny, které budou mít ten Tag nastavený na danou hodnotu. Je to trochu neohrabaný způsob, ale je úplně jednoduchý, takže si s tím určitě poradíš 

Nahlásit jako SPAM
IP: 88.103.236.–
Slim0
Návštěvník
11. 3. 2012   #5
-
0
-

Super, tohle jsem potřeboval vědět :-) Jdu to vyzkoušet, jestli to klapne, tak sem hodím řešení ;-)

Díky!

Nahlásit jako SPAM
IP: 90.179.211.–
Řešení
liborb
~ Redaktor
+18
Guru
12. 3. 2012   #6
-
+1
-
Zajímavé
Vyřešeno Nejlepší odpověď

#4 LukoSS
S tím Tagem ... řekl bych, že to skončí stejně, ale třeba se mýlím :)

#3 Slim
Pro tvůj nefungující mozek, jsem to myslel nějak takto: 

for (int items_v = (listView.Items.Count - 1); items_v >= 0; items_v--)
Nahlásit jako SPAM
IP: 78.80.52.–
Slim0
Návštěvník
15. 3. 2012   #7
-
0
-

#6 liborb
Díky moc :-) Tvůj návrh mi pomohl! Díky za vyřešení!

Nahlásit jako SPAM
IP: 90.179.211.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 37 hostů

Podobná vlákna

Vyhledavani v komponente Listview — založil JiriVavru

ListView — založil sandi70

ListView — založil curro70

ListView — založil _Radek_

WPF listview — založil David Roško

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý