DataTextField met 2 waardes

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
goedemiddag beste tweakers,

ik heb mijn DropDownBox in c# ingevuld met waardes uit me database. dit gaat allemaal prima, maar nu wil ik
de DataTextField 2 waardes meegeven vanuit 2 verschillde rows in me database. één uit de row city en één uit de row coutry. dus dat je het effect kruigt: woerden- netherlands.

ik had al geprobeert om het met een && operator te doen maar die pakt die niet, en als ik het dan google dan zeggen ze dat ik de + operator moet gebruiken, maar zodra ik dat doe pakt die de 2 namen samen en denkt die dat die 2 namen samen 1 row is in de database, maar die bestaat helemaal niet.
iemand een idee hoe ik dit het beste kan aanpakken??

stukje code voor uitleg:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
protected void Page_Load(object sender, EventArgs e)
    {
        objredirector.Redirector();

            if (!IsPostBack)
            {
                Dropdowntijd.DataValueField = "timezone";
                Dropdowntijd.DataTextField = "city";
                Dropdowntijd.DataSource = objcountriesAdapter.Gettimezones();
                Dropdowntijd.DataBind();

                DropDownstad.DataValueField = "country";
                DropDownstad.DataTextField = "country";
                DropDownstad.DataSource = objcountriesAdapter.Gettimezones();
                DropDownstad.DataBind();
                
            }

        }
    



    protected void btn_Submit(object sender, EventArgs e)
    {
        this.Culture = "nl-NL";
        datvan = DateTime.Parse(txtsdatum.Text).Date;
        dattot = DateTime.Parse(txtedatum.Text).Date;
        this.Culture = "en-US";

        objWerknemersAdapter.Fillwerknemers(txtNaam.Text,txtachternaam.Text, DropDownstad.SelectedItem.Text,Dropdowntijd.SelectedValue, txtsdatum.Text, txtedatum.Text);
    }

Acties:
  • 0 Henk 'm!

  • BlackHawkDesign
  • Registratie: Maart 2005
  • Laatst online: 14-09 08:54
Zover bij mij bekend kan je dit alleen oplossen door de sql aan te passen. Dus door in je sql query een extra veld op te nemen en dan de data te combineren. Dus zo:

code:
1
SELECT city, country, city + '-' + country cityCountry FROM tabel


Wat je natuurlijk ook kan doen, als je er een lijst met objecten instopt, dan je dan een extra property aanmaakt en dat deze het samenvoegen verzorgt. Vervolgens hang je deze property aan de datatextfield van de drop downlist.

[ Voor 31% gewijzigd door BlackHawkDesign op 28-03-2011 12:15 ]


Acties:
  • 0 Henk 'm!

  • D-Raven
  • Registratie: November 2001
  • Laatst online: 10-09 20:32
Of je gebruikt een view model in plaats van je data rechtstreeks als datasource te gebruiken.

C#:
1
2
3
4
5
6
7
8
9
10
11
12
//van uitgaande dat je Linq kent
DropDownstad.DataSource = objcountriesAdapter.Gettimezones().Select(x => new ViewModel(x));

public class ViewModel {
   public string City {get;set;}
   public string Country {get;set;}
   public string DisplayValue {get {
        return string.Format("{0} - {1}",City, Country);
      }
   }

}

Acties:
  • 0 Henk 'm!

Verwijderd

Laat maar ;)

[ Voor 97% gewijzigd door Verwijderd op 28-03-2011 16:40 ]