hej ville høre om der er nogen der kan hjælpe mig
jeg ville gerne søge efter et ord i listView
jeg ville gerne kunne skrive et ord i en textbox og så trykke på en søge knap
og så afmærker den ordet i listView
mvh remi
jeg coder i c#
search i listView efter ord
Re: search i listView efter ord
Første metode laver et nyt ListViewItem med tekst fra en TextBox kaldet textBox1 og tilføjer dette item til dit listview.
Anden metode laver et nyt ListViewItem med tekst fra en TextBox kaldet textBox2 og søger igennem dit listview efter et object med samme text. Finder den lignende tekst, bliver det farvet rødt.
Håber det kan bruges.
Denne feature kan jo udvides en del, ved f.eks. at at scrolle ned til hvor ordet er, hvis du har en lang liste. Er der flere lignende ord, burde den måske også fokusere på det næste hver gang du trykker på knappen.
Anden metode laver et nyt ListViewItem med tekst fra en TextBox kaldet textBox2 og søger igennem dit listview efter et object med samme text. Finder den lignende tekst, bliver det farvet rødt.
Kode: Vælg alt
private void button1_Click(object sender, EventArgs e)
{
var newObject = new ListViewItem(textBox1.Text);
listView1.Items.Add(newObject);
}
private void button2_Click(object sender, EventArgs e)
{
var searchObject = new ListViewItem(textBox2.Text);
foreach (ListViewItem lvw in listView1.Items)
{
if (lvw.Text == searchObject.Text)
{
lvw.BackColor = Color.Red;
}
}
}
Denne feature kan jo udvides en del, ved f.eks. at at scrolle ned til hvor ordet er, hvis du har en lang liste. Er der flere lignende ord, burde den måske også fokusere på det næste hver gang du trykker på knappen.
-
- Entusiast
- Indlæg:28
- Tilmeldt:13. mar 2016, 10:31
Re: search i listView efter ord
hej SvenH mange tak for dit svar det dur fint når jeg tilføjer et ord med butten 1 til listView1 og søger med butten2 men når jeg prøver at gøre det med de filer jeg tilføjer så dur det ikke. jeg har pakket programmet ned og tilføjet det så vis du har tid på et tidpungt og gider kan du så ikke prøve at se om du kan se hvor det går galt henne mvh remi
- Vedhæftede filer
-
- jpg.rar
- (211.85KiB)Downloadet 304 gange
Re: search i listView efter ord
prøv at ændre dit foreach loop til det her
Jeg fik det til at virke. Problemet skyldes at den metode vi bruger til at sammenligne med skal bruge to ens objekter før at det virker. Det er muligt at lave en mere generisk løsning, men det ville kræve mere arbejde.
Skriv endelig igen, hvis der stadig er problemer.
Kode: Vælg alt
foreach (string file in nfoFiles)
{
ListViewItem lvi = new ListViewItem(file);
listView1.Items.Add(lvi);
}
Skriv endelig igen, hvis der stadig er problemer.
-
- Entusiast
- Indlæg:28
- Tilmeldt:13. mar 2016, 10:31
Re: search i listView efter ord
hej SvenH har prøvet at kopier det ind men kan ikke rigtig få det til at virke har du mulig for at sætte det ind i programmet og sende det som rar fil ps du må undskylde besværet men er lidt ny inde for programering mvh remi
Re: search i listView efter ord
Når du søger efter en string, så skal de være identiske før at denne kode giver dem farve. Dvs. at når du sætter strings ind som "c:\newfolder\projectx\reol.jpg" så skal du have alt med inden for citationstegnene, altså - c:\newfolder\projectx\reol.jpg . Hvis de ikke er identiske sker der altså ikke noget.
Jeg forestiller mig at du måske ønsker en løsning hvor du kan nøjes med at skrive "reol.jpg" og så vil den farve hele fil stien en bestemt farve? Er dette tilfældet så tag et kig på koden herunder hvor jeg har lavet en lidt mere udførlig løsning.
Du burde måske ændre din filsøgnings algoritme til det her, så kan du sætte den til at søge efter forskellige typer af billedfiler.
Forresten, så før du kan bruge koden lige over, så skal du huske at skrive "using System.Linq;" øverst, da du ellers vil mangle et bibliotek og programmet derfor vil melde fejl.
Her er så billedet af hvordan det ser ud.
Jeg forestiller mig at du måske ønsker en løsning hvor du kan nøjes med at skrive "reol.jpg" og så vil den farve hele fil stien en bestemt farve? Er dette tilfældet så tag et kig på koden herunder hvor jeg har lavet en lidt mere udførlig løsning.
Kode: Vælg alt
private void button2_Click(object sender, EventArgs e)
{
var searchString = new ListViewItem(textBox2.Text);
foreach (ListViewItem lvw in listView1.Items)
{
string[] array = lvw.Text.Split('\\');
foreach (var word in array)
{
if (word == searchString.Text)
{
lvw.BackColor = Color.Red;
}
}
}
}
Kode: Vælg alt
var nfoFiles = Directory.GetFiles(dir.SelectedPath, "*.*", SearchOption.AllDirectories)
.Where(s => s.EndsWith(".jpeg") || s.EndsWith(".jpg"));
Her er så billedet af hvordan det ser ud.
- Vedhæftede filer
-
- HelpProject.rar
- (215.09KiB)Downloadet 279 gange
-
- helppic1.jpg (27.43KiB)Vist 6584 gange
-
- Entusiast
- Indlæg:28
- Tilmeldt:13. mar 2016, 10:31
Re: search i listView efter ord
Hej SvenH 1000 tak for hjælpen