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

    Problema con valore DropDownList

    ho questa DDL:
    codice:
            protected void ddlDurataSource()
            {
                SqlDataAdapter adapter = new SqlDataAdapter("SELECT DISTINCT durata_spot FROM spot", conn);
                try
                {
                    conn.Open();
                    DataSet ds = new DataSet();
                    adapter.Fill(ds);
                    ddlDurata.AutoPostBack = true;
                    ddlDurata.DataSource = ds;
                    ddlDurata.DataValueField = "durata_spot";
                    ddlDurata.DataTextField = "durata_spot";
                    //ddlDurata.DataTextFormatString = "{0:000.0}";
                    ddlDurata.DataBind();
                    ddlDurata.Items.Insert(0, new ListItem("*", "*"));
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
                finally
                {
                    conn.Close();
                }
            }
    il valore che prende è in Decimal su Sql server.
    il problema è che quando clicco su una valore dovrebbe agire da filtro ma mi da sempre questo errore:
    Errore durante la conversione del tipo di dati da varchar a numeric.

    la query è questa:
    codice:
    String queryString = "SELECT * FROM spot WHERE durata_spot = '" + ddlDurata.SelectedItem + "'";
    ho provato a fare un sacco di conversioni senza successo!!

  2. #2
    allora, il problema è che nella DDL il valore ha la virgola, ma nel db il punto.
    ho pensato quindi di trasformare la virgola in punto così:
    codice:
            protected string trasformPoint(string origine)
            {
                if (origine.Contains(','))
                {
                    origine.Replace(',', '.');
                }
                return origine;
            }
    
            protected void RowDataBound(object sendere, EventArgs e)
            {
                foreach (ListItem i in ddlDurata.Items)
                {
                    i.Text = trasformPoint(i.Text);
                }
            }
    ma nn effettua la conversione.
    qualcuno ha qualche suggerimento??

  3. #3
    Utente di HTML.it L'avatar di GabbOne
    Registrato dal
    Mar 2006
    Messaggi
    577
    credo che tu debba fare cosi

    codice:
    protected string trasformPoint(string origine)
            {
                if (origine != null)return  origine.Replace(',', '.');
               else 
               //Lancia l'eccezione o quello che vuoi
            }

  4. #4
    grazie ha funzionato!!!!

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.