Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[c#] DropDownList

Pagina: 1
Acties:

  • Goldraider
  • Registratie: Oktober 2004
  • Laatst online: 02-05 16:40
Heb een vraagje over dropdownlist. Als ik deze op onderstaande manier vul krijg ik alleen maar te zien in de dropdownlist als tekst "system.datarow.data". Is er een manier om dit op te lossen zodat ik de juiste waardes krijg uit de value-field?

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
DropDownList mydropDownlist = new DropDownList();

ADODB._Recordset rs2 = xml.ConnectionCQMS2().Execute(xml.parseConnectieString(), XMLread("query-name"), XMLread("query-modifier"), XMLread("parameters"), -1);

            DataTable dt1 = new DataTable();

            
                dt1.Columns.Add((string)rs2.Fields[XMLread("value-field")].Name.ToString());
                //DataRow dr = dt1.NewRow();
                
                for (int i = 0; i < rs2.RecordCount; i++)
                {
                    dt1.Rows.Add((string)rs2.Fields[XMLread("display-field")].Value.ToString());
                }
               
                rs2.MoveNext(); 

        mydropDownlist.DataSource = dt1;
            mydropDownlist.DataBind();


Ik dank jullie hartelijk :)

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 12:15

Haan

dotnetter

Als je gewoon de ToString() eens weglaat?

Kater? Eerst water, de rest komt later


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 18-11 20:52

gorgi_19

Kruimeltjes zijn weer op :9

En je datatextfield en datavaluefield van je dropdownlist eens definieren?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

De DataRow extenden, en zelf de ToString() definieren ;)

Going for adventure, lots of sun and a convertible! | GMT-8


  • Laurens-R
  • Registratie: December 2002
  • Laatst online: 29-12-2024
Snake schreef op zondag 04 mei 2008 @ 15:14:
De DataRow extenden, en zelf de ToString() definieren ;)
Dus om daaraan toe te voegen:

C#:
1
2
3
4
5
6
7
class MijnDataRow : DataRow
{
    public override string ToString()
    {
        //code die de string voor het item geeft.
    }
}

Verwijderd

Ik zou persoonlijk een minder drastische oplossing kiezen dan een heel eigen ToString implementatie te maken. Wat Gorgi zegt, de datatextfield en datavaluefield properties van de dropdownlist zijn daarvoor bedoeld.
DataTextField is de naam van de property die gebruikt wordt voor de item text.
DataValueField is de naam van de property die gebruikt wordt voor de item value.

Zoek eens op Google naar wat voorbeeldjes van een datatable in een dropdownlist gooien, is vast en zeker een hoop over te vinden ;-)

  • mark117
  • Registratie: Oktober 2002
  • Laatst online: 08:39
EvilB2k schreef op zondag 04 mei 2008 @ 18:30:
[...]


Dus om daaraan toe te voegen:

C#:
1
2
3
4
5
6
7
class MijnDataRow : DataRow
{
    public override string ToString()
    {
        //code die de string voor het item geeft.
    }
}
Daar hebben we tegenwoordig deze voor :) (net 3.5)

C#:
1
2
3
4
public static string ToString(this DataRow value)
{
    //code om de goede returnwaarde te berekenen
}


maar verder heeft gorgi_19 natuurlijk gelijk :)

[ Voor 4% gewijzigd door mark117 op 04-05-2008 19:56 ]


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
mark117 schreef op zondag 04 mei 2008 @ 19:53:
[...]


Daar hebben we tegenwoordig deze voor :) (net 3.5)

C#:
1
2
3
4
public static string ToString(this DataRow value)
{
    //code om de goede returnwaarde te berekenen
}


maar verder heeft gorgi_19 natuurlijk gelijk :)
Wie zegt dat je dat voor alle DataRows zo wilt hebben. Als je al een ToString wilt implementeren lijkt me dat je dat alleen wilt doen voor bepaalde DataRows.

Extension Methods lijken me hier dan ook niet de manier!

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”

Pagina: 1