Oprettet søn. d. 22. august 2010 kl. 17:56:11

trekkies
trekkies (19.681 point. Point ude: 0)

dropdown funktion

Hej alle sammen

Jeg er ved at lave et lille program i C#, og skal bruge en slags dropdown funktion, hvor man vælger hvor mange tekst bokse der skal komme frem.

F.eks. hvis vil vælge 8 stk i dropdown boksen, kommer der 8 tekst bokse frem i programmet.

Ved at det er muligt i javascript, men er det også muligt i C#?

Håber at I kan hjælpe.

Skrevet søn. d. 22. august 2010 kl. 18:01:10| #1

keysersoze
keysersoze (306.434 point)
www.soze.dk
ja, selvfølgelig - den store forskel er at javascript foregår på klienten og .NET på serveren, så du skal foretage et postback. Du kan se et simpelt eksempel fra MS her; http://support.microsoft.com/ (...) - det eneste du skal sikre dig i forhold til eksemplet fra MS, i hvert fald såfremt du skal have værdier ud fra tekstboksene igen, er at kontrollerne skal genskabes igen efter også andet postback og at kontrollerne skal have præcis samme ID'er igen.

Skrevet søn. d. 22. august 2010 kl. 19:23:41| #2

buzzzz
buzzzz (46.576 point)
ifyoudo.net
Nu skriver han "Program i C#", men det kan selfølgelig godt være at det er en web applikation.

Men omd et er det ene andet andet, så kan det lade sig gøre Trekies.

mvh

Skrevet søn. d. 22. august 2010 kl. 20:05:53| #3

trekkies
trekkies (19.681 point)
Det er til et program, så ved ikke om linket virker til det.

Skrevet søn. d. 22. august 2010 kl. 20:43:37| #4

buzzzz
buzzzz (46.576 point)
ifyoudo.net
Nu laver jeg normalt ikke løsning til folk her på eksperten, da spørgsmålet også er oprettet i en forkert kategori så.

Generelt set er det jo bare noget ala:

ComboBox hvor du kan vælger hvor mange TextBox der skal vises.
En knap til at "Lave dem", som hiver nummeret ud af din combox, og så bliver der lavet X antal textbox'e som bliver tilføjet et Panel.

Men hvad har du prøvet, så kan vi tage den derfra ...

mvh

Skrevet søn. d. 22. august 2010 kl. 20:49:39| #5

lasserasch
lasserasch (9.742 point)
www.r-coding.dk
Altså en Windows applikation?

Det kan i så fald gøres ved at lægge et panel på din form. Til det panel kan du tilføje tekstbokse når noget vælges i din combobox/dropdown.

F.eks. sådan her:

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
           
            for (int i = 0; i < int.Parse(comboBox1.SelectedItem.ToString()); i++)
            {
                int position = panel1.Controls.Count * 30;
                TextBox tb = new TextBox { Text = "Tekstbox nr. " + (panel1.Controls.Count + 1).ToString() };
                tb.Location = new Point(12, position);
                panel1.Controls.Add(tb);
            }
           
        }



Mvh.
Lasse

Skrevet søn. d. 22. august 2010 kl. 20:51:11| #6

lasserasch
lasserasch (9.742 point)
www.r-coding.dk
Ahhh Buzzz,. Havde ikke set dit svar :-) Sorry, men løsningsforslaget er mere eller mindre det samme.

Mvh.
Lasse

Skrevet søn. d. 22. august 2010 kl. 21:06:12| #7

keysersoze
keysersoze (306.434 point)
www.soze.dk
Der blev bare nævnt javascript, så gættede jeg på at applikationen var web. Idéen fra linket er i hvert fald det samme - det er bare en anden kontrol der skal benyttes.

Skrevet søn. d. 22. august 2010 kl. 22:40:56| #8

trekkies
trekkies (19.681 point)
Jeg logger af nu, og skal på arbejde de næste 2 dage, så kigger først på det på onsdag igen.

Skrevet tir. d. 31. august 2010 kl. 09:21:24| #9

trekkies
trekkies (19.681 point)
Undskyld ventetiden, har ikke haft tid til at kigge på tingene endnu, men skal nok skrive tilbage når jeg har set på det.

Skrevet fre. d. 17. september 2010 kl. 09:38:16| #10

lasserasch
lasserasch (9.742 point)
www.r-coding.dk
Hvad blev løsningen her??

Mvh.
Lasse

Skrevet søn. d. 26. september 2010 kl. 13:12:52| #11

trekkies
trekkies (19.681 point)
Hej alle sammen

Undskyld ventetiden.

Jeg har nu brugt en del tid på dette, men kan ikke få den til at virke.

Jeg får denne fejl:
"Input string was not in a correct format."

Skrevet søn. d. 26. september 2010 kl. 22:15:21| #12

keysersoze
keysersoze (306.434 point)
www.soze.dk
det må uden tvivl være en fejl i linje 37!

Lidt kode og en henvisning til hvor fejlen sker vil hjælpe - måske vil et debug-mærke også kunne fortælle en masse.

Skrevet søn. d. 26. september 2010 kl. 22:37:20| #13

trekkies
trekkies (19.681 point)
Visual Studio siger at det er i denne linie:
for (int i = 0; i < int.Parse(comboBox1.SelectedItem.ToString()); i++)

Hvor fejlen er.

Skrevet man. d. 27. september 2010 kl. 09:33:29| #14

buzzzz
buzzzz (46.576 point)
ifyoudo.net
Din "comboBox1.SelectedItem" er ikke i det korrekte format, dvs den er nok "tom" ... og det vil give en exception.

Eventuelt brug:

int.TryParse(string input, out int placeHolder)

Skrevet tir. d. 28. september 2010 kl. 16:51:27| #15

trekkies
trekkies (19.681 point)
Min combobox er ikke tom, den viser mine oplysninger.

Prøver din løsning.

Skrevet tir. d. 28. september 2010 kl. 17:28:16| #16

trekkies
trekkies (19.681 point)
Lige meget hvad jeg gør, vil din løsning ikke gå igennem, Visual Studio sider at der er en fejl i linien.

Skal i byen om lidt, kommer herind senere i dag.

Skrevet tir. d. 28. september 2010 kl. 17:55:23| #17

keysersoze
keysersoze (306.434 point)
www.soze.dk
Prøv med comboBox1.SelectedItem.Value.ToString()

Skrevet tir. d. 28. september 2010 kl. 19:47:35| #18

buzzzz
buzzzz (46.576 point)
ifyoudo.net
Kan du ikke høre det i "debug" ... og så finde ud af hvad den string indeholder som du prøver at parse til en int.

Skrevet tir. d. 28. september 2010 kl. 20:50:29| #19

trekkies
trekkies (19.681 point)
Nu siger den er der ikke er noget som hedder "Value".

Da "Value" ikke findes, vil den ikke "Debugges".

Skrevet tir. d. 28. september 2010 kl. 21:16:00| #20

keysersoze
keysersoze (306.434 point)
www.soze.dk
Jeg kan ikke lige huske properties i hovedet og har ikke noget Visual Studio kørende - men lidt intellisense burde kunne give dig det rigtige resultat. Måske hedder den bare comboBox1.SelectedValue.

Skrevet tir. d. 28. september 2010 kl. 21:50:33| #21

buzzzz
buzzzz (46.576 point)
ifyoudo.net
SelectedValue & SelectedValue er der noget der hedder.

Men et skridt tilbage trekkies, og prøv at debug det, og se hvad SelectedItem og måske også hvad SelectedValue indeholder.

Den siger det ikke kan parses som en int, ergo er det som er i din liste ikke en int, og nu skal vi finde ud af hvad den indeholder.

Eventuelt lav et eksempel som genskaber dit problem 100%, så kan vi prøve at køre det og se hvad der går galt.

mvh

Skrevet tir. d. 28. september 2010 kl. 22:00:54| #22

trekkies
trekkies (19.681 point)
Jeg har  nu lavet koden om, som den var før.
Den kommer med fejlen igen.

Jeg henter oplysningerne i en access database, oplysningerne er gemt som "Notat".

Når at jeg "debugger", kører det fint, men når at jeg vælger noget i listen, så kommer fejlen.

Skrevet tir. d. 28. september 2010 kl. 22:06:59| #23

buzzzz
buzzzz (46.576 point)
ifyoudo.net
Yes.

Men ... hvad indeholder den værdi du bruger at "parse" til en int? ( den indeholder jo tydeligvis noget som ikke kan parses til en int )

Skrevet tir. d. 28. september 2010 kl. 22:09:36| #24

trekkies
trekkies (19.681 point)
Oplysningen fra db er kun tal, jeg har tallene fra 1 til 10, som jeg henter ind i dropdown listen.

Skrevet tir. d. 28. september 2010 kl. 22:16:29| #25

buzzzz
buzzzz (46.576 point)
ifyoudo.net
Tanke mæssigt er ideen god ... men der er 100 ting der kan gå galt.

Hvis du vil have vi skal hjælpe, så post din kode her eller lav et eksempel til os som viser fejlen ... og upload det et sted.

Hvis du ikke gør en af overstående 2 ting, er der intet vi kan gøre.

1 til 10, ja det er et tal. Men du får en fejl som siger den ikke kan lave det om til en int, ergo, må det som står i din dropdownbox ikke være et tal.

mvh

Skrevet tir. d. 28. september 2010 kl. 22:26:16| #26

trekkies
trekkies (19.681 point)
Her er noget af koden:
        private void combo_skuespiller_SelectedIndexChanged(object sender, EventArgs e)
        {

            for (int i = 0; i < int.Parse(combo_skuespiller.SelectedItem.ToString()); i++)
            {
                int position = groupBox4.Controls.Count * 30;
                TextBox tb = new TextBox { Text = "Tekstbox nr. " + (groupBox4.Controls.Count + 1).ToString() };
                tb.Location = new Point(12, position);
                groupBox4.Controls.Add(tb);
            }
        }

Det er koden som skulle lave boksene, ud fra det antal som er i dropdown boksen.

Skrevet tir. d. 28. september 2010 kl. 22:43:19| #27

buzzzz
buzzzz (46.576 point)
ifyoudo.net
Hvor er koden som fylder "combo_skuespiller" op ?

Skrevet tir. d. 28. september 2010 kl. 22:47:54| #28

trekkies
trekkies (19.681 point)
Den kommer her:
private void add_Load(object sender, EventArgs e)
{
this.skuespillerTableAdapter.Fill(this.skuespillerDataSet.skuespiller);
}

Skrevet tir. d. 28. september 2010 kl. 23:03:39| #29

buzzzz
buzzzz (46.576 point)
ifyoudo.net
Ja, så er det klart at overstående ikke virker.

Da dit SelectedItem er ikke et tal, men en row i: this.skuespillerDataSet.skuespiller

skuespiller må være en collection af en art ... du skal så caste dit object til den type. ( hvis jeg husker rigtigt )

Men du må også sætte nogen Binding properties et sted, altså hvor de angiver hvad din Combo box skal vise ...

mvh

Skrevet tir. d. 28. september 2010 kl. 23:36:07| #30

trekkies
trekkies (19.681 point)
Jeg har brugt den indbygget database funktion, som har genereret alle tingene til mig.
Jeg har kun sat den til at hente "skuespiller" fra databasen.


Logger af nu, men vender tilbage på torsdag, da jeg skal arbejde hele dagen i morgen.

Skrevet ons. d. 29. september 2010 kl. 00:30:05| #31

buzzzz
buzzzz (46.576 point)
ifyoudo.net
Netop af overstående grund er det nemmere hvis du kan lave en lille zip fil med projektet og upload et sted vi kan hente den.

Men ... dit SelectedItem er ikke et tal ... men et object, som så nok har nogen properties.

mvh

Skrevet tor. d. 30. september 2010 kl. 20:55:06| #32

trekkies
trekkies (19.681 point)
Jeg har ikke min hjemmeside mere, hvor kan jeg så uploade den henne?

Skrevet tor. d. 30. september 2010 kl. 22:38:36| #33

trekkies
trekkies (19.681 point)
Jeg skal på arbejde de næste 5 dage, og har derfor ikke så meget tid.
Jeg har min næste fri dag på onsdag, hvor at jeg kigger herind.

Skrevet fre. d. 01. oktober 2010 kl. 09:27:04| #34

buzzzz
buzzzz (46.576 point)
ifyoudo.net
http://www.2shared.com/ <- Der kan du uploade filer gratis.

Skrevet ons. d. 06. oktober 2010 kl. 10:59:16| #35

trekkies
trekkies (19.681 point)
Så har jeg endelig fri :)

Her er filen:
http://www.2shared.com/ (...)

Der er kode ord på, det er "eksperten" - uden ""

Skrevet tor. d. 25. november 2010 kl. 11:56:13| #36

trekkies
trekkies (19.681 point)
Hej alle sammen
Jeg har ikke hørt noget efter at jeg lå produktet ud på nettet, så jeg har selv leget lidt med problemet.

Jeg har denne kode:
        private void combo_skuespiller_SelectedIndexChanged(object sender, EventArgs e)
        {
            for (int i = 0; i < int.Parse(combo_skuespiller.SelectedItem.ToString()); i++)
            {
                int position = groupBox4.Controls.Count * 30;
                TextBox tb = new TextBox { Text = "" + (groupBox4.Controls.Count + 1).ToString() };
                tb.Location = new Point(30, position);
                groupBox4.Controls.Add(tb);
            }
        }
Den skulle gerne lave en text box for mig, men den kom hele tiden med fejl.
Nu har jeg makeret nogle ting ud:
        private void combo_skuespiller_SelectedIndexChanged(object sender, EventArgs e)
        {
//            for (int i = 0; i < int.Parse(combo_skuespiller.SelectedItem.ToString()); i++)
//            {
                int position = groupBox4.Controls.Count * 30;
                TextBox tb = new TextBox { Text = "" + (groupBox4.Controls.Count + 1).ToString() };
                tb.Location = new Point(30, position);
                groupBox4.Controls.Add(tb);
//            }
        }

Så virker den fint, men den laver kun en box, og det er lige meget om jeg vælger 1 eller 5 i min combobox.

Er det nogle som kan hjælpe mig videre?

Skrevet tor. d. 25. november 2010 kl. 12:31:56| #37

buzzzz
buzzzz (46.576 point)
ifyoudo.net
fejl ????

Programmet der ikke kunne starte?
Windows der giver fejl ?
X der giver fejl ? ( indsæt selv et navneord i stedet for X )

Du bliver nød til at give os lidt mere information, får du nogen exceptions ? hvad lyder fejlen på ? .NET smider ingen fejl de kalder fejl.

mvh

Skrevet tor. d. 25. november 2010 kl. 12:34:31| #38

buzzzz
buzzzz (46.576 point)
ifyoudo.net
Hvad er værdien af "combo_skuespiller.SelectedItem"

Du virker rimelig sikker på det er en integer, er det ikke det, får du en FormatException.

Skrevet tor. d. 25. november 2010 kl. 13:08:27| #39

trekkies
trekkies (19.681 point)
Jeg har lagt en fejl meddelse her:
http://www.2shared.com/ (...)

Jeg ved ikke om det er en integer, har også prøvet med andre, men intet virker.

Værdien i combo_skuespiller bliver hentet i en xml fil.
Det er tallene fra 1 til 20.

Skrevet tor. d. 25. november 2010 kl. 13:36:44| #40

buzzzz
buzzzz (46.576 point)
ifyoudo.net
Men når du får et fint break der ...

Kan du så ikke lige se hvad
combo_skuespiller.SelectedItem indeholder af værdi ... for den lader jo til at indeholde noget forkert.

Hvordan smider du items i din combobox ?

Jeg tror du skal bruge:
combo_skuespiller.SelectedValue i stedet for SelectedItem.

mvh

Skrevet tor. d. 25. november 2010 kl. 13:47:14| #41

trekkies
trekkies (19.681 point)
Mange tak for det, nu virker det.

Så mange timer med problemet, og så skulle der laves bare ændret lidt :)

Læg venligst et svar, så får du dem :)

MANGE TAK FOR DET....

Skrevet tor. d. 25. november 2010 kl. 14:10:33| #42

buzzzz
buzzzz (46.576 point)
ifyoudo.net
Heheh ...

Altid bare post en masse kode ... det siger mere end 1000 ord. Så kan vi nemmere følge hvad du prøver at gøre.

Her var det bindingen af dine ListItem's som manglede ...

mvh

Skrevet tor. d. 25. november 2010 kl. 14:10:44| #43


Skrevet tor. d. 25. november 2010 kl. 15:49:47| #44

trekkies
trekkies (19.681 point)
Jeg ændrede koden til "SelectedValue" i stedet for "SelectedItem", derefter virkede det fint, ingen fejl kode :)

Mange tak for hjælpen....

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

Koordinater for nyt vindue efter scroll, csharp.

Oprettet den 11. februar 2012 kl. 01.54
bjarnefilm giver 30 point for svar | Giv et svar »

Treeview hovedmenu á lá Dynamics C5

Oprettet den 10. februar 2012 kl. 08.12
olehaahr giver 30 point for svar | Giv et svar »

Deployment på Windows Mobile 6.5

Oprettet den 9. februar 2012 kl. 13.59
schristensen giver 200 point for svar | Giv et svar »

Seneste guides

Installer win 7
Den gode bruger


   




Tips & Tricks fra PC World

Teaser billede

Her er fem sjove danske websider du skal kende

Trænger dine lattermuskler til en omgang fitness på dansk? Vi viser vej til fem websider fyldt med humor og vanvittig satire.


Anmeldelser fra PC World

Teaser billede

Test: Denne super-tablet er iPads hårdeste konkurrent

Eee Pad Transformer Prime er frygtindgydende med sin quadcore processor og evne til at trylle sig om til bærbar. Apple bør kigge i bagspejlet, for Asus' tablet-pc kommer buldrende - og gør det...


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Nu kan du snart hente Windows 8

Den nye offentlige betaversion af Windows 8 er klar i denne måned.


Nyheder fra Computerworld

Teaser billede

Måske snart slut med Androids helt store problem

Android-platformen har længe været plaget af et særligt problem. Men måske er problemet nu ved at være elimineret.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger