[ASP.NET] Meerdere concatinaties in combobox

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb een combobox die gevuld wordt met de voor- en achternamen van de personen in de databank. Dit gebeurd in de BLL d.m.v. een concatinatie:

SELECT id, Concat(voornaam,' ',achternaam) as naam FROM personen;

Code voor de combobox:

Combobox1.DataField_Text = "naam";
Combobox1.DataField_Value = "id";

Nu krijg ik in de combobox mooi alle volledige namen van de personen in de databank. Ik gebruik de combobox om te zoeken. Probleem is, als je de voornaam typt gaat het allemaal goed, want de persoon wordt in de box weergegeven als voornaam - achternaam, dus met dat kan ik programmeren. Maar als de gebruiker wilt zoeken op eerst de achternaam, dan heb ik een probleem aangezien je moet beginnen met de voornaam.

Nu wil ik graag de opties van de combobox verbergen (al gedaan) maar dus alle personen erin zetten met voornaam - achternaam en ook als achternaam - voornaam. Hoe kan ik dit doen? Of is er een simpelere oplossing want nu zou ik dus alle data dubbel hebben.

Acties:
  • 0 Henk 'm!

  • roy-t
  • Registratie: Oktober 2004
  • Laatst online: 19-09 10:19
Ik denk dat je eht beste een object "persoon" kunt maken.

zoiets:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class Persoon
{
   public int id;
   public string Voornaam;
   public string Achternaam;
 
  public Persoon(int id, string voornaam, string achternaam)
  {
    this.id = id; this.Voornaam = voornaam; this.Achternaam = achternaam;
  }

   public override string toString()
   {
      return Voornaam + " "  + Achternaam;
   }
}


Zet de return waarde van de query *nu zonder concat* in een tabel, construeer er een array van persoons objecten van. Deze persoon objecten kun je in de combobox zetten (omdat Tostring overriden is staan die waardes in de toString(). En nu als je een persoon zoekt kun je dat via de combobox doen (na een click kun je via het event het object verkrijgen en het id uitlezen.) Of procedureel kun je in de code zoeken in de array als personen[]. en dan persoon[i].Voornaam of persoon[i].Achternaam.

Succes!

~ Mijn prog blog!


Acties:
  • 0 Henk 'm!

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 17:04

Haan

dotnetter

Gebruik dan ook Properties voor Voornaam en Achternaam in de class, dan kan je deze makkelijker binden aan de combobox ;)

Kater? Eerst water, de rest komt later