Fügen Sie dynamische Diagramme ASP.NET CHART-STEUERELEMENT, c#
Ich wollte fügen Sie dynamische Diagramme in der Webseite. Es geht so...
Bekomme ich die start-und end-Datum vom-user und zeichnen Sie separate Diagramme für jedes Datum zwischen start-und end-Datum.
Bekomme ich die Daten aus der sql-Datenbank und binden Sie es mit dem Diagramm so:
SqlConnection UsageLogConn = new
SqlConnection(ConfigurationManager.ConnectionStrings["UsageConn"].ConnectionString);
UsageLogConn.Open();//open connection
string sql = "SELECT v.interval,dateadd(mi,(v.interval-1)*2,'" + startdate + " 00:00:00') as 'intervaltime',COUNT(Datediff(minute,'" + startdate + " 00:00:00',d.DateTime)/2) AS Total FROM usage_internet_intervals v left outer join (select * from Usage_Internet where " + name + " LIKE ('%" + value + "%') and DateTime BETWEEN '" + startdate + " 00:00:00' AND '" + enddate + " 23:59:59') d on v.interval = Datediff(minute,'" + startdate + " 00:00:00',d.DateTime)/2 GROUP BY v.interval,Datediff(minute,'" + startdate + " 00:00:00',d.DateTime)/2 ORDER BY Interval";
SqlCommand cmd = new SqlCommand(sql, UsageLogConn);
SqlDataAdapter mySQLadapter = new SqlDataAdapter(cmd);
Chart1.DataSource = cmd;
//set series members names for the X and Y values
Chart1.Series["Series 1"].XValueMember = "intervaltime";
Chart1.Series["Series 1"].YValueMembers = "Total";
UsageLogConn.Close();
//data bind to the selected data source
Chart1.DataBind();
cmd.Dispose();
Der obige code fügt nur ein Diagramm für einen Tag, und ich habe Hinzugefügt 'Diagramm1' an der design-Ansicht und seine nicht erstellt dynamisch. Aber ich wollte noch hinzufügen mehrere Diagramme dynamisch zur Laufzeit auf der Webseite.
Kann mir jemand helfen mit diesem?
Bin ich mit VS 2008, ASP.NET 3.5
und die charting-lib ist: mit System.Web.UI.DataVisualization.Charting;
InformationsquelleAutor | 2008-12-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ok vielleicht habe ich übertrieben, aber ich habe versucht, diese ziemlich dynamisch. Ja, die Liste die Namen sind ein bisschen komisch, aber ich habe ein anderes Beispiel von mir, um zu bauen.
Ok so ist dieser erste Teil ist einfach. Erstellen Sie ein panel, halten Sie die Diagramme, die Sie hinzufügen, erhalten Sie die Listen, die Sie möchten, vertreten durch den charts (Für dieses Beispiel, in dem Sie gerade arbeiten mit Linq to Sql) und rufen Sie die Methode zum erstellen der Diagramme.
Wie Sie sehen können, ich gerade erstellt ein neues Diagramm Hinzugefügt, eine Serie, und fügte hinzu, eine ChartArea. Nächste Teil ist ziemlich einfach nur die Schleife durch die Auflistung und addition jedes Element in der Liste selbst. Es nutzt die übergebene delegate-Methoden (Func), um die X-und Y-Werte.
Letzte Teil hält die vier Methoden dafür verantwortlich, dass die X-und Y-Werte aus den beiden Listen aus. Im Grunde habe ich diese, damit das Diagramm erstellen-Methode, um eine generische wie möglich. Möglicherweise overkill.
Sind, und wenn Sie dies ausführen, erhalten Sie zwei Diagramme nebeneinander. Wohlgemerkt, Sie wird sehr deutlich wie es gibt Millionen verschiedene Eigenschaften, die festgelegt werden können, um das Aussehen zu verbessern. Hoffe, das ist es, was Sie baten.
Ehrlich gesagt, es sieht aus wie Sie die anderen Codes müssen Sie schon mit was Sie oben geschrieben haben. Ich würde nur senden Sie den Befehl in die Methode statt, was ich Tat, databind, und legen Sie dann die .XValueMember/.YValueMember. Sie haben die meisten was Sie brauchen, in Ihrem eigenen code.
Die wichtigste Sache zu nehmen, aus meinem post ist genauso, wie Sie die Diagramme dynamisch. Sie haben herausgefunden, das databinding bereits.
InformationsquelleAutor Programmin Tool
InformationsquelleAutor shridhar
Ich habe aktualisiert die MS chart-Muster für .NET 4.0 und fügte zwei weitere Projekte -- ChartsWithMVC und ChartsWithoutWebForms. Vielleicht finden Sie mein Beispiel-code hilfreich, ich habe eine sehr einfache Implementierung eines dynamischen Diagramm-system mit der asp.net chart-control:
http://develocity.blogspot.com/2010/04/aspnet-chart-controls-without-web-forms.html
Hoffe, es hilft.
InformationsquelleAutor Dave Haynes