Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Popolare una combobox più un valore

    Vorrei popolare la lista di una combo con dei valori prelevati da una tabella, ed inoltre aggiungere (possibililmente in testa alla lista) un valore prefissato.

    Avevo pensato di popolare la lista con i dati dalla tabella attraverso:

    codice:
    SquadraCasaComboBox.DataSource = DatabaseDataSet.Tables("Tab_SquadreStoriche")
    SquadraCasaComboBox.DisplayMember = "NomeSquadra"
    e di aggiungere il valore predefinito attraverso:
    codice:
    SquadraCasaComboBox.Items.Insert(0, SETTPropriaSquadra)
    ma da un errore!!!

    Come posso fare???

  2. #2
    Sto cercando come un matto anche su google ma nn trovo nulla!!!

  3. #3

    Aggiungere un elemento in una ComboBox Popolata da dati esterni

    Adesso, sempre parlando della mia ComboBox ho questo problema!

    La combo popolata dai dati di una tabella attraverso la Sub:
    codice:
            With ScoutComboBox
                '.DataSource = Me.DBaseDataSet.Scout
                .DataSource = New DataView(Me.DBaseDataSet.Scout, _
                                "[Abilitato in lista rapida] = True", _
                                "NomeLista ASC", _
                                DataViewRowState.OriginalRows)
                .DisplayMember = "NomeLista"
                .ValueMember = "NomeLista"
            End With

    Vorrei aggiungervi vei valori "fissi" cioè che non sono prelevati dalla tabella, così ho privato ad inserire (assegnandovi anche un indice):

    codice:
    Items.Insert(0, "Argomento aggiunto")
    ottenendo:
    codice:
            With ScoutComboBox
                '.DataSource = Me.DBaseDataSet.Scout
                .DataSource = New DataView(Me.DBaseDataSet.Scout, _
                                "[Abilitato in lista rapida] = True", _
                                "NomeLista ASC", _
                                DataViewRowState.OriginalRows)
                .DisplayMember = "NomeLista"
                .ValueMember = "NomeLista"
                .Items.Insert(0, "Argomento aggiunto")   
            End With
    ma mi restituisce errore, poikè non è possibile "Modificare l'insieme degli elementi quando è impostata la Proprietà DataSource "

    Come posso fare???

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463

    Moderazione

    Ho unito le discussioni in quanto avevi già posto la stessa domanda.

    Non aprire più discussioni sullo stesso argomento; tutt'al più, rispondi alla discussione precedente aperta.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Opsss!
    Scusa, me n'ero scordato...è di prima dell'estate!

    Cmq continuo a non tirare fuori un ragno dal buco!

  6. #6
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    in vb.net 2005 c'è una proprietà ,ora non ricordo il nome,che permette di aggiungere elementi oltre a quelli di un qualsiasi datasource.

  7. #7
    scusate ma non la trovo!!

  8. #8
    Dopo un bel po, sono arrivato a questo mezzo obrobrio:

    codice:
            Me.ScoutTableAdapter.Fill(Me.DBaseDataSet.Scout)
    
            Dim dvScout As New DataView(Me.DBaseDataSet.Scout, _
                                        "[Abilitato in lista rapida] = True", _
                                        "NomeLista ASC", _
                                        DataViewRowState.OriginalRows)
    
            ScoutComboBox.DataSource = dvScout
            ScoutComboBox.DisplayMember = "NomeLista"
            ScoutComboBox.ValueMember = "id_scout"
    
            dvScout.AllowEdit = True
    
            ' Rende la colonna "NomeLista" di non sola lettura
            Me.DBaseDataSet.Scout.NomeListaColumn.ReadOnly = False
    
            dvScout.Item(0)(0) = 0
            dvScout.Item(0)(4) = "NOME AGGIUNTO"
    
            dvScout.AddNew()
    
            dvScout.AllowEdit = False
            Me.DBaseDataSet.Scout.NomeListaColumn.ReadOnly = True
    ma ho queste tre esigenze che non conciliano con quanto fatto:

    1) Non riesco ad aggiungere più di un "NOME AGGIUNTO":

    codice:
    ...
            dvScout.Item(0)(0) = 0
            dvScout.Item(0)(4) = "NOME AGGIUNTO"
    
            dvScout.Item(1)(0) = 0
            dvScout.Item(1)(4) = "NOME2 AGGIUNTO"
    
            dvScout.AddNew()
    ...
    poiche da errore: "Impossibile Impostare NomeLista";

    2) Vorrei poter trasformare la colonna "id_scout", che nel db è il contatore, in una stringa nell'assegnazione 'ValueMember', perche ai NOMI AGGIUNTI non voglio associare un valore numerico, ma bensi dei codici a stringhe;

    3) Gli elementi aggiunti che non vengano mischiati a quelli dal database (come fa ora), ma vorrei aggiungerli in testa al MenùList [come si farebbe col Insert(0,"Testo da aggiungere") ].

    Grazie a tutti!

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.