Jag har en xml fil som skrivs ut i en dropdownlist i en datagrid. Den skriver ut ansvariga, men jag vill bara att den ska skriva ut den ansvariga en gång. Nu skriver den ut alla ex som heter Nisse nilsson, ska man loopa igenom listan och bara skriva ut ett Namne? De andra namnen ska också skrivas ut men bara en nisse nilson inte 10 st
Nu skriver den ut alla och det innebär att en person som finns flera gånger i xml filen under "Responsible" kommer att skrivas ut flera gånger jag vill att den bara ska skrivas ut en gång i dropdownlistan, hur gör jag detta, loop if satts eller? Snälla hjälp mig
Ett förslag är att du i en whileloop addar ett namn i taget i en arraylist och för varje nytt namn så kollar du FÖRST om det namnet redan finns i arraylisten, om inte så addar du namnet. Så kör du på tills du har kört igenom alla namn. Därefter fyller du din dropdownlista med din arraylist.
Du kan göra som Network skrev eller så kan du loopa med itemsarna i dropdownen. Logiken bakom koden blir ungefär densamma. (skrev bara den från dropdownen eftersom jag slipper skapa arraylisten osv..)
Absolut inte prövad kod..skriver den bara rakt uppochner
//loopar med alla items..dvs 'Responsible'
for(int i=0;i<dropdown.Items.Count;i++){
if(!dropdown.Items[i].Visible){
continue; //vi behöver inte kontrollera de vi redan satt att vi inte ska visa
}
//loopar med de som kommer efter den Responsible vi tittar på
for(int j=i+1;<dropdown.Items.Count;j++){
if(dropdown.Items[i].Value == dropdown.Items[j].Value){ //om de heter samma
dropdown.Items[j].Visible = false; //vi visar inte detta itemet
}
}
}
Nått i den stilen..
Tänk bara på att det kan finnas två som heter Snorre Snorresson :)