Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di Legnetto
    Registrato dal
    May 2002
    Messaggi
    1,419

    Inserire un valore di default in un <Asp:ListBox> oltre ai dati di una tabella

    Sono disperato!!!
    Sono 2 giorni che cerco di inserire un valore di default all'interno di un <Select>,o di un <Asp:listbox>.
    Il problema è che oltre a questo valore vorrei visualizzare successivamente i dati risultanti di una query ad una tabella.
    In Asp normalmente facevo così:
    <option value="" Selected="True"> Tutti i tipi </option>
    Poi con un ciclo For riempivo gli altri campi.
    Se qualcuno mi sapesse dare una risposta mi toglierebbe un peso.
    Ciao a tutti

  2. #2
    Come lo popoli da una query la listbox?
    Nulla si crea, nulla si distrugge, ma tutto si trasforma
    Il mio articolo ma vieniii

  3. #3
    Utente di HTML.it L'avatar di Legnetto
    Registrato dal
    May 2002
    Messaggi
    1,419

    Risposta per Riccilo

    Script e rispettivo HTML, servono in questo caso a riempire con le risultanze della query i valori <OPTION>...</OPTION> di un controllo <SELECT>.
    Si può fare anche per un <Asp:ListBox>.
    Premetto che è da una settimana che sono passato ad ASP.NET,quindi sono passibile di sviste o lacune clamorose.
    Il mio problema è che voglio inserire un (value "" Text "Mio testo")oltre ai dati del database.

    Dim SQL As String = "SELECT * from Nome_tabella order by colonna"
    If not IsPostBack Then
    Dim Select1Command As SqlDataAdapter = New SqlDataAdapter(SQL,Conn)
    Dim dsSelect1 As DataSet = New DataSet()
    Select1Command.Fill(dsSelect1, "Nome_tabella")
    Select1.DataSource = dsSelect1
    Select1.DataTextField = "Campo_testo"
    Select1.DataValueField = "Campo_valore"
    Select1.DataBind()
    end if
    ......

    <SELECT id="Select1" size="1" name="Select1" runat="server"
    DataMember="Nome_tabella"
    DataTextField="Campo_testo"
    DataValueField="Campo_valore">
    <OPTION></OPTION>
    </SELECT>
    -----------------------
    Spero di essermi spiegato bene!!!
    Ciao

  4. #4
    Utente di HTML.it L'avatar di Legnetto
    Registrato dal
    May 2002
    Messaggi
    1,419
    Scusa per l'errore di battitura (Riccilo)al posto di Ricciolo

  5. #5
    Va bene come lo popoli, ma non usare il tag html select. Usa il webform dropdownlist o listbox (a seconda) che così sarà più facile per te prelevare i dati.
    Comunque, siccome tu hai usato un dataset non ti resta che aggiungere una riga a mano prima di assegnare il datasource:
    Dim Riga as DataRow
    Riga=dsSelect1.Tables("Nome_tabella").NewRow
    Riga("Campo_Testo")="Tutti"
    Riga("Campo_Valore")=""
    dsSelect1.Tables("Nome_tabella").Rows.Add(Riga)

    Dovrebbe andare.Per fare una cosa migliore era meglio usare il datareader ma va bene così
    Spero di non aver sbagliato niente
    Ciao
    Nulla si crea, nulla si distrugge, ma tutto si trasforma
    Il mio articolo ma vieniii

  6. #6
    Utente di HTML.it L'avatar di Legnetto
    Registrato dal
    May 2002
    Messaggi
    1,419
    Adesso provo come mi hai detto tu, quando hai tempo se vuoi farmi vedere un esempio anche con il DataReader mi faresti una cortesia.
    Grazie.
    Ciao.

  7. #7
    Utente di HTML.it L'avatar di Legnetto
    Registrato dal
    May 2002
    Messaggi
    1,419
    Scusa l'insistenza ma forse non ho capito.
    Con l'esempio che mi hai scritto(Se ho ben compreso;vista la documentazione in inglese del Framework)aggiungo una riga alla tabella.
    La mia esigenza è diversa,vorrei che comparisse soltanto in stato di visualizzazione nel browser
    Ti allego un possibile risultato HTML.
    <select name="SELECT1" id="SELECT1">
    <option selected="selected" value=""> Tutti i tipi </option>
    <option value="Primo_valore">Testo_prima_riga</option>
    <option value="Secondo_valore">Testo_seconda_riga</option>
    <option value="Etc...">Etc...</option>
    </select>
    Riciao.

  8. #8
    Utente di HTML.it L'avatar di Legnetto
    Registrato dal
    May 2002
    Messaggi
    1,419
    Chiedo umilmente perdono!!!
    Sto ancora ragionando da ASPista con i miei amati recordset.
    Sono disconnesso quando aggiungo la riga vero??
    Adesso devo trovare il modo di mettere la nuova riga in cima alla lista.
    Scusate lo svarione.
    Ciao.

  9. #9
    Sì esatto, sei disconnesso.
    Con datareader
    codice:
    	what.Items.Add(New ListItem("Tutti",""))
    	dim conn as New Oledb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dire & "Annunci.mdb")
    	dim cmd as New Oledb.OleDbCommand("SELECT id,nome FROM marche",conn)
    	dim Reader as OledbDataReader
    	conn.open()
    	Reader=cmd.ExecuteReader()
    	while Reader.Read()
    		what.Items.Add(New ListItem(reader(1),reader(0)))
    	end while
    	conn.close()
    Scusa se non l'ho adattato al tuo esempio. Con il datareader si è connessi e quindi si risparmiano risorse. In questo caso però devi fare un loop per aggiungere item con il metodo add al listbox.
    Il costruttore Listitem accetta come primo parametro il valore del campo testo e come secondo il valore del campo value

    Ciao[]
    Nulla si crea, nulla si distrugge, ma tutto si trasforma
    Il mio articolo ma vieniii

  10. #10
    Utente di HTML.it L'avatar di Legnetto
    Registrato dal
    May 2002
    Messaggi
    1,419
    Grazie mille Ricciolo mi sei stato di grande aiuto.
    Poi per fortuna ieri sera ho anche installato il Framework in italiano quindi le cose diventeranno molto più chiare.
    Ciao.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.