Hulpvraag schoolopdracht

Happy12345

Nieuw lid
Lid geworden
28 jul 2021
Berichten
1
Waarderingsscore
0
Punten
0
Hallo :)

Allereerst sorry als mijn vraag hier niet thuishoort.

Ik loop erg vast bij een programmeeropdracht in Visual Basic voor school.
Ik vroeg mij af of iemand wat tips voor mij heeft.

De schoolopdracht is het bouwen van een Windows Store-app waarbij er gebruik gemaakt wordt van een XML bestand dat o.a. kan worden ingelezen en kan worden aangepast.

Ik loop nu vast op een stukje code, waarbij ik een item uit de Listbox moet selecteren, en vervolgens een "deel" van die string naar een TextBox moet kopieren.

De string is bijvoorbeeld: <Wijn Naam="Borghetto Rosso" Land="Italie" Streek="Toscane" Soort="Rood" Druif="Sangioves" AlcoholPrct="12"/>

De waarde van de Streek "Toscane" moet dan in een tekstbox gezet worden.


Tot nu toe heb ik het volgende gemaakt:

Voor het inlezen van het bestand (alleen Land en Naam moeten ingelezen worden)

Code:
Public NotInheritable Class MainPage
    Inherits Page
    Dim xelement As XElement = XElement.Load("Assets/Wijnen.xml")
    Dim xWijnen As IEnumerable(Of XElement) = xelement.Elements()
    Public Property Wijn As Object


    Private Sub WijnLijstBarButton_Click(sender As Object, e As RoutedEventArgs)
        ' Het land en de wijn naam worden ingelezen in de ListBox
        Dim queryData = From Wijn In xWijnen.Descendants("Wijn")
                        Where (Wijn.Attribute("Land")).Value <> ""
                        Select Land = Wijn.Attribute("Land").Value,
                               Naam = Wijn.Attribute("Naam").Value
                        Order By (Land)


        For Each xWijn In xWijnen
            WijnListBox.Items.Add(xWijn.@Land.PadRight(37, " ") & xWijn.@Naam.PadRight(30, " "))


        Next xWijn


    End Sub



Een poging voor het selecteren en kopiëren van de geselecteerde waarde:

Code:
Private Sub WijnListBox_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles WijnListBox.SelectionChanged
        Dim xdoc As XDocument = XDocument.Load("Assets/Wijnen.xml")




        Dim queryData = From Wijn In xdoc.Descendants("Wijn")
                        Select Naam = Wijn.Attribute("Naam").Value,
                   Land = Wijn.Attribute("Land").Value,
                   Streek = Wijn.Attribute("Streek").Value,
                   Soort = Wijn.Attribute("Soort").Value,
                   Druif = Wijn.Attribute("Druif").Value,
                   AlcoholPrct = Wijn.Attribute("AlcoholPrct").Value



         TBStreekt.Text = WijnListBox.SelectedItem.Streek.Value



Een stuk van het XML bestand:

<Wijnen>
<Wijn Naam="Canapi Grillo" Land="Italie" Streek="Sicilie" Soort="Wit" Druif="Grillo" AlcoholPrct="12"/>
<Wijn Naam="Miopasso Fiano" Land="Italie" Streek="Sicilie" Soort="Wit" Druif="Fiano" AlcoholPrct="13"/>
<Wijn Naam="Elegance Sauvignon Blanc" Land="Frankrijk" Streek="Pays d'Oc" Soort="Wit" Druif="Sauvignon Blanc" AlcoholPrct="11,5"/>
</Wijnen>


Heeft iemand een tip voor mij hoe ik een deel van de geselecteerde item kan kopiëren in een textbox?

Alvast heel erg bedankt!
 

Rubensky

NCF Goeroe
Forumleiding
Administrator
Lid geworden
17 okt 2011
Berichten
20.701
Waarderingsscore
302
Punten
0
Hoi, allereerst welkom op dit forum. Ik heb je topic op de juiste plek gezet.

Ook fijn dat je in het topic gezet hebt hoever je al ben gekomen. Dat helpt degene die je willen gaan helpen. Ikzelf kan je niet verder helpen. Je zal dus moeten wachten tot er iemand met kennis van programmeren je verder helpt.
 

maulem

Vaak hier
Lid geworden
23 feb 2017
Berichten
604
Waarderingsscore
26
Punten
0
Natuurlijk kun je geen appels met peren vergelijken. Eerst neem je een lijst xWijnen uit het .xml bestand, daarna voer je een query daarop uit, dat gaat allemaal goed. Maar daarna wordt weer van xWijn in xWijnen uitgegaan, waardoor de lijst queryData eigenlijk helemaal niet gebruikt wordt. Je zult toch op de een of andere manier door queryData moeten lussen. Ik denk zelf iets van: For Each xWijn in queryData - WijnListBox.Items.Add etc. Next xWijn

6102c9a045921-queryData_niet_in_gebruik.jpg


In jouw tweede codevoorbeeld staat weer zo'n ongebruikte Dim queryData. Die heb je niet eens nodig! Want je kunt zomaar het SelectedItem uit WijnListBox verkrijgen.
 
Bovenaan Onderaan