none
System.Web.UI.DataVisualization.Charting.Chart.DataSource - type anonyme RRS feed

  • Question

  • Bonjour.

    Je m'exerce pour la première fois au contrôle Chart en VB 2010, en traduisant un exercice trouvé dans un livre C#.

    J'obtiens l'erreur d'exécution suivante :

    Les points de données de séries ne prennent pas en charge les valeurs de type VB$AnonymousType_0`2[System.String,System.Int32]. Seules les valeurs des types suivants peuvent être utilisées : Double, Decimal, Single, int, long, uint, ulong, String, DateTime, short, ushort.

    Et voici le code :

        <asp:Chart id="GraphRepartitionClient" runat="server" Height="296px" Width="450px"
          Palette="BrightPastel" BorderDashStyle="Solid" BackSecondaryColor="White"
          BackGradientStyle="TopBottom" BorderWidth="2" backcolor="#D3DFF0" BorderColor="26, 59, 105"> 
          <legends> 
            <asp:Legend IsTextAutoFit="False" Name="Default" BackColor="Transparent"
              Font="Trebuchet MS, 8.25pt, style=Bold"></asp:Legend> 
          </legends> 
          <borderskin skinstyle="Emboss"></borderskin> 
          <series> 
            <asp:Series Name="Serie1" BorderColor="180, 26, 59, 105" IsValueShownAsLabel="true" > 
            </asp:Series>
          </series> 
          <chartareas> 
            <asp:ChartArea Name="ChartArea1" BorderColor="64, 64, 64, 64" BorderDashStyle="Solid"
              BackSecondaryColor="White" BackColor="64, 165, 191, 228" ShadowColor="Transparent"
              BackGradientStyle="TopBottom"> 
            </asp:ChartArea> 
          </chartareas> 
        </asp:Chart>
    
    
          'GraphRepartitionClient.DataSource = _
          '  (From oSecteurActivite In SecteurActivite.GetListeInstances _
          '    Select New With { _
          '      .Libelle = oSecteurActivite.Libelle, _
          '      .NombreClient = oSecteurActivite.Clients.Count _
          '    } _
          '  ).ToList
          GraphRepartitionClient.DataSource = _
            (From oSecteurActivite In SecteurActivite.GetListeInstances _
              Select _
                Libelle = oSecteurActivite.Libelle, _
                NombreClient = oSecteurActivite.Clients.Count _
            ).ToList
          GraphRepartitionClient.Series(0).ChartType = DataVisualization.Charting.SeriesChartType.Pie
          GraphRepartitionClient.Series(0).XValueMember = "Libelle"
          GraphRepartitionClient.Series(0).YValueMembers = "NombreClients"
          GraphRepartitionClient.DataBind()
    
    

    Avec ou sans New, j'obtiens la même erreur. Quelqu'un pourrait-il me suggérer une solution ?

    Merci d'avance,

    Gilbert

    jeudi 23 décembre 2010 10:05

Réponses

  • Bonjour,

    Vous avez utilisé NombreClient dans le type anonyme et NombreClients pour le binding.

    Vous pouvez essayé ainsi avec la clause New...With :

    GraphRepartitionClient.DataSource = _
      (From oSecteurActivite In list _
      Select New With { _
      .Libelle = oSecteurActivite.Libelle, _
      .NombreClients = oSecteurActivite.Clients.Count} _
      ).ToList
    
    

    Cordialement

     

     

    jeudi 23 décembre 2010 12:49
    Modérateur

Toutes les réponses