Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    271

    Creare classe origine dati

    Salve a tutti,
    sono nuovo per quanto riguarda VB.NET.

    Ho sviluppato una form che visualizza gli appuntamenti prendendoli da una tabella di sqlexpress.
    Tra i vari campi c'è il campo "Priorità" (1 = bassa; 2 = Normale; 3 = Alta) fin ora sto gestendo questo campo con una textbox.
    Volendo creare una interfaccia più carina vorrei gestirlo con una combox che visualizza le 3 descrizioni della priorità; logicamente poi nel db devo memorizzare il valore integere corrispondente a quello selezionato.
    Vorrei evitare di scrivere nel update una cosa tipo

    if combo = "bassa" then campo = 1 else ....

    mi chiedevo se si può fare creando una classe che contiene i dati (quindi diventa tipo un dataset) e collegarlo come origine dati al combobox.

    Grazie a tutti
    Ikon
    Signori si nasce! E io modestamente, lo nacqui!!!
    Totò

  2. #2
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Puoi semplicemente utilizzare l'indice dell'elemento selezionato.
    Una volta popolato il combobox leggi la proprietà SelectedIndex :

    codice:
        Private Sub PopolaComboPriority(ByRef cbo As ComboBox)
            cbo.Items.Clear()
    
            cbo.Items.Add("Bassa")
            cbo.Items.Add("Normale")
            cbo.Items.Add("Alta")
    
            cbo.SelectedIndex = 1 ' seleziono il default
    
        End Sub
    
    
        Private Sub cboPriority_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboPriority.SelectedIndexChanged
            IndiceSelezionato = cboPriority.SelectedIndex
        End Sub
    Ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    271
    grazie gibra.
    Comunque ho trovato questo altro sistema:

    Aggiungere un progetto classlibrary con una classe che espone Le proprietà ID e Descrizione. Poi uso questa classe come datasource

    Ciao
    IKON
    Signori si nasce! E io modestamente, lo nacqui!!!
    Totò

  4. #4
    Utente di HTML.it L'avatar di fu510n
    Registrato dal
    Sep 2005
    Messaggi
    137
    Utilizzare una classe??
    Fai prima a creare la tabella "Priorità" nel tuo bel database.

    codice:
    IDPriorità - Descrizione
    ------------------------
             0 - Bassa
             1 - Normale
             2 - Alta
    E poi effettuare il binding della tua combobox direttamente allo stesso DB impostando le seguenti proprietà:


    DataSource: lo fai puntare alla tabella "Priorità"
    DisplayMember: selezioni il campo "Descrizione"
    ValueMember: selezioni il campo "IDPriorità"


    Volendo puoi pure bindare il "SelectedValue" dalla sezione "(DataBindings)" per avere la vita molto più facile invece di dover eseguire query "manualmente".
    Fusion

    Currency Text Box (Updated: 16 Maggio 2008): http://digilander.libero.it/cmfusion/CurrencyTextBox.html

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    271
    Grazie per la tua risposta.
    Lo so che avrei fatto molto prima con il metodo che mi hai consigliato, e lo uso pure per altre gestioni.
    Ma io mi sto avvicinando da poco a .NET e spesso (come in questo caso) quello che faccio è anche solo a scopo didattico.. per imparare questa nuova infrastruttura.

    Comunque grazie 1000

    IKON
    Signori si nasce! E io modestamente, lo nacqui!!!
    Totò

  6. #6
    Utente di HTML.it L'avatar di fu510n
    Registrato dal
    Sep 2005
    Messaggi
    137
    spesso (come in questo caso) quello che faccio è anche solo a scopo didattico.. per imparare questa nuova infrastruttura
    Il miglior modo per imparare è provare e provare....

    A me spesso capita di proporre soluzioni migliori di quelle che ho adottato io per i miei software... Come dice il proverbio: Spiegando si impara! (o era Sbagliando si impara??? )
    :quote:
    Fusion

    Currency Text Box (Updated: 16 Maggio 2008): http://digilander.libero.it/cmfusion/CurrencyTextBox.html

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.