IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

dataview sort equivalent a un cast decimal


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 47
    Par défaut dataview sort equivalent a un cast decimal
    Bonjour,

    sur le résultat d'une requete sql select * from blala..(50 colonnes) je stocke en memoire cache le resultat dans une datatable (matable).

    pour utiliser le résultat j'utilise une projection pour obtenir que les colonnes dont j'ai besoin au temps x.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Dim view As New DataView
            Dim dataview As New DataView
            Dim simpleProjection As New DataTable
            Dim customers As New DataTable
     
       customers = Cache("data")
     
            view = customers.DefaultView
            simpleProjection = view.ToTable("ProjectedCustomers",True, "nom","montant")
            dataview = New DataView(simpleProjection) 
            dataview.Sort = TRI1.Value
    Le problème de ma colonne c'est qu'elle est stockée sous mysql en varchar(255) utf8_general_ci


    Lorsque j'utilise le dataview le retour de données

    45,00
    6,60
    90,68
    le tri n'est pas correct mais lorsque je fait une requete sous mysql en utilisant
    cast(`montant` as decimal(8,2)) ASC le tri s'éffectue bien

    6,60
    45,00
    90,68
    Pourriez vous m'aider car je n'arrive pas a formater dans le tri1.value le retour de données pour que l'ordre soit correct .

    Auriez vous une idée?

  2. #2
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,

    C'est un tri alphabétique et pas numérique. Le format de ta colonne doit pas être le bon.

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 47
    Par défaut
    Re-bonjour,

    Suite a quelques recherches de plus j'ai réussi a rajouter ceci pour obtenir le résultat:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    imports linq
       customers = Cache("data")
    
       Dim dtSorted As DataTable=NOTHING
              
      If TRI2.Value = "ASC" Then
                    dtSorted = customers.AsEnumerable().OrderByDescending(Function(a) Convert.ToDouble(a("montant").ToString())).CopyToDataTable()          
      ElseIf TRI2.Value = "DESC" Then
                    dtSorted = customers.AsEnumerable().OrderBy(Function(a) Convert.ToDouble(a("montant").ToString())).CopyToDataTable()
                
                
                view = dtSorted.DefaultView
                simpleProjection = view.ToTable("ProjectedCustomers", True, "nom, "montant")
                dataview = New DataView(simpleProjection)
    Si vous avez une autre solution je suis prenneuse,
    mais en tout cas cette solution fonctionne ca permet de deriver le problème, pour ceux qui rame...

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 47
    Par défaut
    Immobilis,

    Merci pour ta réponse,


    en effet je sais que tout vient de la colonne, mais voilà, je bute sur l'intégration de cette base, car j'ai un fichier csv de départ, mais j'aurais voulu passer les données avec un format currency, mais ca ne fonctionne pas.

    Donc je cherche a ne pas perdre mes données après la virgules avec mysql.

  5. #5
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Tu peux spécifier le type de données dans tes colonnes. Jette un oeil ici: http://msdn.microsoft.com/fr-fr/library/x1tyd60z.aspx
    "Winter is coming" (ma nouvelle page d'accueil)

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 47
    Par défaut
    Immobilis,


    c'est une très bonne solution,

    mais je vais attaquer ma base mysql pour faire le correctif de l'intégration (virgules vers points) et tout sera réglé

    Merci de ton aide,

    A Bientôt

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Equivalent sort -u unix en python
    Par AnsuzPeorth dans le forum Général Python
    Réponses: 7
    Dernier message: 13/03/2010, 18h37
  2. Problème dans le Sort de DataView
    Par MirageF1 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 12/06/2008, 23h38
  3. Custom sort avec un DataView
    Par Jérôme Lambert dans le forum ASP.NET
    Réponses: 1
    Dernier message: 21/09/2007, 16h58
  4. [Kylix] Equivalent ShellExec en CLX
    Par Anonymous dans le forum EDI
    Réponses: 7
    Dernier message: 14/08/2002, 11h55
  5. [Kylix] equivalent winsock avec kylix
    Par Victor dans le forum EDI
    Réponses: 2
    Dernier message: 08/05/2002, 07h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo