none
Datagrid.datasource FormatException sur decimal RRS feed

  • Discussion générale

  • Bonjour,

    Nous rencontrons un problème un datagridview lorsque nous voulons afficher un champs décimal d'une table sql server .

    Lorsqu'on affecte notre dataset à un datagrid, s'il contient un decimal on obtient l'erreur suivante (nous n'arrivons même pas à la catcher) :
    "L'exception suivante s'est produite dans le datagridview :
    System.FormatException: Spécificateur de format non valide.
    à system.Number.FormatDecimal value String format, NumberFormatInfo info
    à System.Decimal.ToString...

    Le datagridview que nous remplissons est vide (sans définition de colonne). Il se remplit avec les info du dataset.

    Cela fonctionne très bien tant qu'il n'y a pas de décimal retrouné dans nos requêtes (ça fonctionne pour les entiers, dates et string...).

    Voici comment est construit notre dataset:

    dbfactory = System.Data.Common.DbProviderFactories.GetFactory("System.Data.SqlClient");
    System.Data.Common.DbDataAdapter da = dbfactory.CreateDataAdapter();
    DataSet ds = new DataSet();
    da.SelectCommand = cmd;
    da.Fill(ds)

    BindingSource bindingSource = new BindingSource();
    bindingSource.DataSource = ds.Tables[0];
    this.dataGrid.DataSource = bindingSource; // MESSAGE D'ERREUR SUR CETTE LIGNE EN CAS DE DECIMAL

    Le catch n'est meme pas effectué...

    mercredi 18 mars 2009 18:05

Toutes les réponses