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

    Problema con recupero valori combobox

    Ciao ragazzi,
    come da oggetto ho un problema con il recuperare il valore di un combobox.
    Premetto che sto utilizzando delle dll che ho acquistato che lavorano integrando ajax, quindi il codice non è tutto farina del mio sacco, e per questo motivo ho delle difficoltà nelle modifiche.
    Spero possiate aiutarmi ugualmente.
    Vi spiego il problema.

    La colonna del datagrid viene caricata in questa maniera

    codice:
    Dim oCol2 As Column = New Column()
            oCol2.DataField = "HTML"
            oCol2.Visible = False
            oCol2.HeaderText = "id tree"
            oCol2.Width = "50"
            oCol2.TemplateSettings.RowEditTemplateControlId = "ob_cbo1Textbox"
            oCol2.TemplateSettings.RowEditTemplateControlPropertyName = "value"
    Dove HTML è il nome della categoria di appartenenza del prodotto

    In fase di modifica record viene richiamata una funzione che al suo interno ha il caricamento delle altre categorie possibili:

    codice:
    MySQL = "SELECT ID, HTML FROM TREE WHERE elimina_tree = False ORDER BY HTML ASC"
            MyDA = New Data.OleDb.OleDbDataAdapter(MySQL, myConn)
            MyDS = New DataSet
            
            
            
                
            MyDA.Fill(MyDS, "TREE")
            
            Dim dt As New DataTable
            dt.Columns.Add("ID", GetType(System.Int32))
            dt.Columns.Add("HTML", GetType(System.String))
    
            ' Populate the DataTable to bind to the Combobox.
            '
            Dim drDSRow As DataRow
            Dim drNewRow As DataRow
    
            For Each drDSRow In MyDS.Tables("TREE").Rows()
                drNewRow = dt.NewRow()
                drNewRow("ID") = CType(drDSRow("ID"), Integer)
                drNewRow("HTML") = drDSRow("HTML")
                dt.Rows.Add(drNewRow)
            Next
    
            With cbo1
                .DataSource = dt
                .DataField_Text = "HTML"
                .DataField_Value = "ID"
                .DataBind()
            End With
    Come potete vedere assegno come value l'ID e come text l'HTML.

    Quando vado a salvare i dati richiamo l'update del datagrid, e inparticolare con le query parametriche il valore

    myComm.Parameters.Add("@HTML", OleDbType.VarChar).Value = e.Record("HTML")

    Se salvo però mi restituisce come errore che i tipi di dati non sono corrispondenti nell'espressione criterio.
    Questo perchè il campo ID che devo aggiornare è un campo numerico, e lui mi recupera sempre e solo il DataField_Text e non il DataField_Value.

    Facendo infatti delle prove dove nel text è mostrato l'id riesco a fare l'aggiornamento, ma chiaramente non mi va bene come soluzione perchè deve essere visualizzato il nome della categoria e non il valore.

    L'altra prova fatta che miha fatto capire che lui recupera il text e non il value l'ho avuta modificando il parametro così:

    myComm.Parameters.Add("@HTML", OleDbType.Integer).Value = e.Record("HTML")

    cioè mettendo integer invece di varchar.
    In questo caso l'errore che ottengo è il seguente:

    Impossibile convertire il valore del parametro da un String a un Int32

    Lo so che è un pò difficile seguirmi visto l'utilizzo di altre dll, ma spero possiate darmi almeno qualche aiuto o indicazione per capire quale è il mio errore.

    Grazie mille.
    Guido

  2. #2
    Ciao ragazzi,
    Tra le varie prove nella sub dell'update ho provato a recuperare il valore del combo così:

    valore = cbo1.SelectedIndex

    ma quando faccio l'update mi ritorna sempre -1

    nessuna idea su come risolvere?

    Grazie

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    senti, prova a fare vedere l'html del tuo combobox :master:
    Pietro

  4. #4
    cioè tu dici di recuperare il datatext del combobox invece del value?
    purtroppo non posso...

    in pratica nel combo io ho come html

    profumi
    saponi
    creme

    mentre come id

    12
    15
    13

    se come datafield_text metto l'id, tutto a posto.
    se metto l'html niente da fare...
    e sto uscendo pazzo...

  5. #5
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    :master: vedo che non mi sono spiegato:

    se nella pagina metto un DropDownList, l'html prodotto sarà più o meno questo:

    <select name="DropDownList1" id="DropDownList1">***</select>


    una volta che conosci il name, ti recuperi la variabile form di nome DropDownList1

    Request.Form("DropDownList1")

    qui ci sarà sicuramente il value non il text
    Pietro

  6. #6
    pietro scusami...ma stiamo parlando di .net...
    quello che mi scrivi mi sa tanto di ASP 3.0....

  7. #7
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da zetaweb
    pietro scusami...ma stiamo parlando di .net...
    quello che mi scrivi mi sa tanto di ASP 3.0....
    Sono anni che lavoro in asp.net e asp l'ho già dimenticato, ma non tanto da non sapere fare queste operazioni elementari.

    Comunque provaci. Se trovi di meglio sei sempre in tempo a cambiare.
    Pietro

  8. #8
    no per carità la mia non era una critica o una polemica...
    è solo che queste operazioni mi sembrano proprio il classico request.form di asp 3.0...
    e non saprei proprio utilizzarle in asp.net...

    Cmq grazie ugualmente per l'aiuto

  9. #9
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da zetaweb
    no per carità la mia non era una critica o una polemica...
    è solo che queste operazioni mi sembrano proprio il classico request.form di asp 3.0...
    e non saprei proprio utilizzarle in asp.net...

    Cmq grazie ugualmente per l'aiuto
    Ma dai, non è questione di polemica, ma di utilizzare al meglio asp.net

    Dovendo scegliere tra una soluzione funzionante e datata e una moderna e non funzionante, cosa sceglieresti?
    Pietro

  10. #10
    ah su questo mi trovi perfettamente d'accordo

    purtroppo sto utilizzando questa dll già da un pò di tempo, e mi trovo bene, solo che adesso mi sono impallato con questo cavolo di problema e non ne riesco ad uscire, e mi rendo conto che capire un codice scritto da altri, e DEscritto da me diventa un macello

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