Ga naar inhoud

.net C#


Aanbevolen berichten

Hallo allen

Ik zit met enkele vragen over mijn applicatie...

Ik probeer een lijst te tonen in een listbox. Maar ik krijg enkel de laatste te zien. Hoe kan ik dit verhelpen? Mijn code is de volgende:


List<ProcesKlasse> Proces = new List<ProcesKlasse>();

               Proces.Add(new ProcesKlasse(PNr, PAankomst, PNaam/*, Pstatus*/));
               int eindeLijst = Proces.Count;
               for (int i = 0; i < eindeLijst; i++)
               {
                   listBox1.DataSource = Proces[i];
               }

Indien ik die listBox1.DataSource = Proces; weglaat krijg ik enkel de laatste gegevens die zijn aangemaakt. Indien ik het nu zou laten uitvoeren, krijg ik een error dat er invalid gegevens zijn.

Mijn tweede vraag betreft een schoonheidsfoutje (niet zo héél erg belangrijk) maar toch...

Het gaat erom dat ik mijn radiobutton niet kan unchecken. Dus als de gebruiker deze heeft aangeklikt, en nadien op een knop ofzo klikt, zou ik graag willen dat deze radiobutton niet meer is aangeduid.

Mijn derde vraag gaat over dat ik een aangeduidde item uit een combobox niet kan weergeven in een lijst.

De code die ik heb, is de volgende:


int PNr = int.Parse(textBox1.Text);
               int PAankomst = int.Parse(textBox2.Text);
               String PNaam = textBox3.Text.ToString();
               //ProcesKlasse.PState Pstatus = comboBox1.SelectedValue.ToString();

               List<ProcesKlasse> Proces = new List<ProcesKlasse>();

               Proces.Add(new ProcesKlasse(PNr, PAankomst, PNaam/*, Pstatus*/));
               listBox1.DataSource = Proces;

Ik zou heel erg blij zijn met enkele hints over hoe ik deze problemen het best kan aanpakken!

Hartelijk dank!

Link naar reactie
Delen op andere sites

vraag 1.

Voor zover ik zie, doe je maar 1 maal een add in de list 'proces' en is het normaal dat er maar 1 lijn in je listbox staat. Voor je die "for" lus uitvoert, kan je in een messagebox de waarde tonen van 'eindelijst' om te zien hoeveel items er in de lijst 'proces' zitten.

Een voorbeeld (in VB.net) van hoe het wel kan.

        ' Populates the list box using DataSource. 
       ' DisplayMember is used to display just the long name of each state.
       Dim USStates As New ArrayList()
       USStates.Add(New USState("Washington", "WA"))
       USStates.Add(New USState("West Virginia", "WV"))
       USStates.Add(New USState("Wisconsin", "WI"))
       USStates.Add(New USState("Wyoming", "WY"))

       ListBox1.DataSource = USStates
       ListBox1.DisplayMember = "LongName"
       ListBox1.ValueMember = "ShortName"

vraag 2.

In de code die achter de knop zit, moet je gewoon de radiobutton unchecked zetten.

vraag 3.

Kijk eens of je wat kan doen met deze code.

   Private Sub ListBox1_SelectedValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedValueChanged
       If ListBox1.SelectedIndex <> -1 Then
           textBox1.Text = ListBox1.SelectedValue
       End If
   End Sub

Link naar reactie
Delen op andere sites

Dankje kweezie wabbit en Psolutions

Ik denk bij de eerste vraag dat je me niet zo goed begrijpt. Laat me je het nog even verduidelijken. De gebruiker geeft gegevens in via 3 textboxen en 1 combobox. De gegevens die hier worden ingegeven steek ik in variabelen. Deze variabelen steek ik dan in een lijst. Deze lijst wil ik weergeven in listbox.

Wat jij me voorstelt is hardcoded gegevens in de lijst steken en deze laten zien. Dit kan ik niet doen, aangezien ik niet weet wat de gebruiker ingeeft. Ik moet dus de textbox.text in een variabelen steken en deze dan in een lijst.

Bij de tweede vraag had ik die gisterenavond gevonden, toch bedankt!

Voor de derde vraag heb ik deze in C# proberen om te zetten. Ik ken namelijk geen VB maar ik denk wel dat ik weet wat je bedoelde. Ik heb volgende regels ingegeven maar nog steeds zonder gevolg. Ze nemen enkel de eerste aan... de eerste keuze die mogelijk is in de combobox.

[size=2][color=#0000ff]if[/color][/size][size=2] (listBox1.SelectedIndex > -1)
{
[/size][size=2][color=#2b91af]String[/color][/size][size=2] Pstatus = listBox1.SelectedValue.ToString();
}
[/size]

wel is Pstatus in een andere klasse (nl ProcesKlasse) en is deze van de type enum (de mogelijkheden die in de combobox zitten). Maar indien ik in de if-lus een ProcesKlasse.PState Pstatus = ... zet, krijg ik de foutmelding dat hij deze niet kan converteren. Vandaar dat ik een string en toString heb gezet om te testen, maar deze lukt dus ook niet.

@Psolutions

Ik heb het erg lastig gehad met het vinden van een juiste manier om die bijlage hier op te zetten. Spijtig genoeg kan hij geen zip of rar aanvaarden. Hoewel de zip bestand wel zou moeten kunnen aanvaarden, enfin, het lukte niet. Dan heb ik geprobeerd om het via hotmail te doen, maar dat lukte ook niet en dan heb ik twee maal geprobeerd met gmail. Uiteindelijk heb ik deze ongeveer een uur geleden doorgestuurd in een rar bestand.

Groetjes

Link naar reactie
Delen op andere sites

Gast
Dit topic is nu gesloten voor nieuwe reacties.
×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.