Toon posts:

[c#.net]

Pagina: 1
Acties:
  • 38 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik heb nog niet zoveel ervaring met c# maar werk hiermee op mijn stage. Daar was al een webapplicatie gemaakt die ik probeer uit te breiden.

Er word uit een database een bepaald nummer gehaald.
Dit nummer word eerst in een dropdownlist geplaatst. Het is een duizendtal en aan de eerste 2 cijfers valt te zien om welk type het gaat.

Dus bijv.
1000 = type 1
2000 = type 2
1500 = type 3

nu dacht ik het zo op te lossen.

C#:
1
2
3
4
5
6
7
8
9
10
string type;
switch ((int)(DropDownList1.SelectedItem.Value / 100))
{
    case 10:
           type = "type1";
           break;
    case 20:
           type = "type2"
           break;
}

Het probleem is hier dat hij hetgeen wat in de dropdownlist staat als een string ziet en die dus niet kan delen door 100. In de database is het datatype een short interger.

Kan iemand mij vertellen hoe dit komt, hoe ik het op kan lossen, waar ik de oplossing kan vinden of hoe ik mijn probleem eventueel beter aan kan pakken?

  • Chester
  • Registratie: September 2003
  • Niet online
Probeer eens Convert.ToInt32 ipv te casten met (int).

"The test of a work of art is, in the end, our affection for it, not our ability to explain why it is good." - Stanley Kubrick | Trakt


  • whoami
  • Registratie: December 2000
  • Laatst online: 11:29
Dit staat gewoon in de MSDN, als je eens zoekt op cast of convert kom je heel wat tegen.

Tip: kijk eens naar de Convert class. Die bevat een ToInt32 method.

Trouwens, je cast is niet juist.
Nu ga je eerst delen, en dan pas casten. Als je het zo doet:
code:
1
2
3
switch( ( (int)DropDownList1.SelectedItem.Value )  / 100 )
{
}


zal het al heel wat beter lukken. :) (zie de haakjes)

Hoedanook, dit is terug te vinden in de manual. Had je eerst eens in de MSDN gekeken, dan had je de oplossing al gevonden in de tijd die je nodig had om dit topic te maken. :)

[ Voor 24% gewijzigd door whoami op 13-10-2006 14:59 ]

https://fgheysels.github.io/


  • whoami
  • Registratie: December 2000
  • Laatst online: 11:29
HIGHGuy heeft trouwens nog een interessante toevoeging:
HIGHGuy:
In plaats van met een switch case te werken, kan je beter ofwel beide velden opslaan in de databank en ze ophalen, of kun je dankbaar gebruik maken van de System.Enum klasse met methoden om enum waarden om te zetten in leesbare strings en terug.

https://fgheysels.github.io/


Dit topic is gesloten.