Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126

    [C#]Associare uno nodo xml ad un controllo datagrid

    Ciao, recupero da un file xml un nodo che contiene altri nodi.. la struttura è questa:
    codice:
    <nodo_principale>
     <subnodo1>valore</subnodo1>
     <subnodo2>valore</subnodo2>
     <subnodo3>valore</subnodo3>
     etc..
    </nodo_principale>
    con xpath riesco a recuperare un nodo "nodo_principale" che contiene un subnodo il cui valore è uguale ad una certa stringa..
    ora quello che devo fare è visualizzare questi subnodi che si trovano sotto "nodo_principale" in due colonne di un datagrid, impostando nella prima colonna il nome del subnodo e nella seconda colonna il valore.. ecco come dovrebbe uscire fuori il datagrid:
    codice:
    colonna1   colonna2
    subnodo1   valore1
    subnodo2   valore2
    subnodo2   valore3
    Qualcuno può consigliarmi come bindare il datagrid? ho già ovviamente creato il tablestyle con le due colonne
    Voglio l'alt+s anche per FF

  2. #2
    CIao bello!
    Io farei cosi', cioè faccio cosi':

    Mi creo una classe personalizzata (Name, Surname) ...

    codice:
            Dim DS As New DataSet
            Dim DT As New DataTable
            Dim ArrNormal As New ArrayList
            Dim ArrAdmin As New ArrayList
            Dim xmlFileName As String = "../File/user.xml"
            Dim fsReadXml As New System.IO.FileStream _
                   (xmlFileName, System.IO.FileMode.Open)
            DS.ReadXml(fsReadXml)
            For Each row As DataRow In DS.Tables(0).Rows
                If CType(row("type"), String) = "Normal" Then
                    ArrNormal.Add(New MyUser(row("name").ToString, row("type").ToString))
                Else
                    ArrAdmin.Add(New MyUser(row("name").ToString, row("type").ToString))
                End If
            Next
    A questo punto la mia ArrayList mi fa da DataSource ...

    ComboBox1.DataSource = ArrNormal
    ComboBox1.DisplayMamber = "Name" --> Proprietà della classe

  3. #3
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da raffaeu
    CIao bello!
    Io farei cosi', cioè faccio cosi':

    Mi creo una classe personalizzata (Name, Surname) ...

    codice:
            Dim DS As New DataSet
            Dim DT As New DataTable
            Dim ArrNormal As New ArrayList
            Dim ArrAdmin As New ArrayList
            Dim xmlFileName As String = "../File/user.xml"
            Dim fsReadXml As New System.IO.FileStream _
                   (xmlFileName, System.IO.FileMode.Open)
            DS.ReadXml(fsReadXml)
            For Each row As DataRow In DS.Tables(0).Rows
                If CType(row("type"), String) = "Normal" Then
                    ArrNormal.Add(New MyUser(row("name").ToString, row("type").ToString))
                Else
                    ArrAdmin.Add(New MyUser(row("name").ToString, row("type").ToString))
                End If
            Next
    A questo punto la mia ArrayList mi fa da DataSource ...

    ComboBox1.DataSource = ArrNormal
    ComboBox1.DisplayMamber = "Name" --> Proprietà della classe
    we raffa tutto apposto?
    Allora.. a parte il fatto che non ci ho capito niente , c'è una differenza importante.. il controllo che devo usare è un datagrid e non un combobox.. e poi sinceramente non capisco dov'è che filtri il nodo
    Voglio l'alt+s anche per FF

  4. #4
    Beh in NET come si dice a milano 'Fa li stess ...' usi sempre il DataSource e poi ti crei un tuo 'style' per le colonne.

    Per il filtro, qui:

    codice:
    If CType(row("type"), String) = "Normal" Then
                    ArrNormal.Add(New MyUser(row("name").ToString, row("type").ToString))
                Else
                    ArrAdmin.Add(New MyUser(row("name").ToString, row("type").ToString))
                End If
    Spiegazione:

    Se il TAG <type> contiene la stringa "Normal" ...

    Ma puoi anche usare un metodo diverso ... per filtrare.


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.