Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    problemino DropDownList

    Ciao a tutti,
    io riempo il mio DropDownList in questo modo
    codice:
    If Not objReader Is Nothing Then
         persona.DataValueField = "ID"
         persona.DataTextField = "Nome" 
         persona.DataSource = objReader
         persona.DataBind()
         objReader.Close()
         lblMessage.Text = ""
    Else
         Button1.Enabled = False
        lblMessage.Text = "ERRORE NELLA QUERY"
    End If
    come vedete nella riga persona.DataTextField = "Nome" qui scrivo solo il campo nome. Se io volessi mettere un secondo campo tipo il cognome come dovrei fare?
    Ho provato ma non riesco a trovare la sintassi esatta.

    PS: ID e NOME sono presi da un database

  2. #2
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    233
    devi usare un hashtable

  3. #3
    che devo usare?

    poi cmq al momento ho risolto facendo cosi:
    codice:
    objReader = ObjDatabase.SelectSQL("SELECT ID, Nome, Cognome FROM Selezioni ")
    
            While objReader.Read()
                'persona.
                persona.Items.Add(objReader("Nome") & " " & objReader("Cognome"))
                persona.DataBind()
            End While
    però come vedi non riesco a dare nu VALUE, sarebbe mia intenzione mettere come value l'ID è più comodo.

    Perciò se mi spieghi come fare cambio.


    ciao

  4. #4
    Utente di HTML.it L'avatar di Legnetto
    Registrato dal
    May 2002
    Messaggi
    1,419
    Fai come facevi prima e modifichi la query unendo direttamente i risultati che ti interessano.

    SELECT id,(cognome + ' ' + nome)As nominativo from selezioni

    Poi:
    persona.DataTextField = "nominativo"

    Non ho provato ma dovrebbe andare.
    Fammi sapere
    Ciao
    Legnetto

  5. #5
    perfetto, non conoscevo quella sintassi sulle query.


    grazie mille

  6. #6
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    233
    allora funziona così:
    1.crei un hashtable
    dim mioarray as new hashtable()

    2.Poi fai un ciclo per tutte le righe...
    for i=0 to ds.tables("nometabella").rows.count-1

    dove aggiungi un elemento alla volta nell hashtable, in questo esempio supponi di dover mettere come text il nome di categoria e di sotto categoria separati da "->".

    arrCategorie.add (ds.tables("nometabella").rows(i)("categoria") & "->" & ds.tables("nometabella").rows(i)("sottocategoria") , ds.tables("nometabella").rows(i)("categorieid")&"~ "&ds.tables("nometabella").rows(i)("sottocategorie id"))

    La virgola separa le chiavi(key) dai valori(value), chiudi il ciclo..

    next

    3.ora associa le chiavi e i valori al tuo controllo, associa è il nome del tuo controllo...

    associa.datasource=arrCategorie
    associa.datatextfield="key"
    associa.datavaluefield="value"
    associa.DataBind()

    Questo è tutto, non credo sia difficile, naturalmente effettuando il conteggio delle righe, qualora avessi creato una query con un ordinamento, quest'ultimo non sarebbe + visibile.

  7. #7
    la soluzione dettami da Legnetto mi sembra al + efficente per quello che devo fare :
    SELECT id,(cognome + ' ' + nome)As nominativo from selezioni

    cmq grazie ne terrò conto

  8. #8
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    233
    X legnetto:
    non funzia xchè mi fa vedere 2 record anzichè 3(quelli reali dentro il db.
    come se saltasse l'ultimo...

  9. #9
    Utente di HTML.it L'avatar di Legnetto
    Registrato dal
    May 2002
    Messaggi
    1,419
    Non so come popoli il listbox, cmq in tutti casi non è un problema di query(Almeno con sql7 e sql2000).
    Ricordati che se usi un reader e fai:
    If reader.read ... ti posizioni sul primo record e ogni cosa che fai dopo parte dal secondo risultato(quindi ne perdi uno!).
    Ciao
    Legnetto

  10. #10
    Originariamente inviato da Legnetto
    Ricordati che se usi un reader e fai:
    If reader.read ... ti posizioni sul primo record e ogni cosa che fai dopo parte dal secondo risultato(quindi ne perdi uno!).
    Ciao
    Legnetto

    infatti si me ne perdo uno, come faccio a vedere se è pieno o no?

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.