SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Webpart mit C# MSChart

Geprüfte Antwort Dieser Beitrag hat 2 Antworten

Ohne Rang
107 Beiträge
kk 236 erstellt 14 Dez. 2010 10:39
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Servus Leute,

ich weiß nicht ob das hier jemand zufällig weiß, aber da ich von Arbeit aus in kein anderes Forum komme (fragt nicht warum... ) versuch ich es mal. Ich hab für Sharepoint einen Webpart in C# selbst programmiert, funktioniert soweit auch alles wie gewünscht. Über diesen Webpart wird eine Liste in einem Chart grafisch dargestellt. Ich hab jetzt 20 Spalten in der Liste, die alle im Chart angezeigt werden sollen, heißt alle 20 Spalten sollen auf der x-Achse angezeigt werden und haben einen Wert >0 auf der y-Achse. Mein Problem jetzt ist, dass im Chart höchstens 10 der 20 Spalten in der x-Achse angezeigt werden, sobald es mehr werden, werden die Labels in der x-Achse nichtmehr angezeigt, die Werte in der y-Achse allerdings schon. Heißt ich hab 10 Labels in der x-Achse aber 20 Werte (in diesem Fall Balken weils ein Balkendiagramm ist) in der y-Achse dadurch weiß natürlich keiner mehr was wohin gehört, d.h. ich will das umstellen dass alle 20 angezeigt werden. Geht das?

Einfach chart.height und chart.width umstellen geht nicht, der zerrt das Diagramm einfach auseinander zeigt aber nicht mehr Label an.

Vielleicht weiß es ja jemand.

Danke schonmal.

Gruß chris

Alle Antworten

Ohne Rang
16 Beiträge
BerndV Als Antwort am 16 Dez. 2010 11:47
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Chris,

zu deinem Problem direkt habe ich keine Lösung.
Ein anderer Ansatz für dich wäre das kostenlose Google Chart Webpart, so bräuchtest du gar nicht zu Programmieren.

Das Webpart bietet schon einige Funktionen und Darstellungsmöglichkeiten,
falls du aber noch weitere formatierungen brauchst kann man auch die Google Chart API verwenden.

Hoffe ich konnte dir damit weiterhelfen.

Gruß

Bernd

Ohne Rang
107 Beiträge
kk 236 Als Antwort am 16 Dez. 2010 12:20
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ja das hatte ich vorher schon getestet, aber unsere Anforderungen hier waren einfach zu spezifisch.

Ich hab daher nen Webpart selbst gemacht mit Hilfe des mschart 3.5.

Ich hab die Lösung vorhin selber gefunden, poste das mal kurz wenn es jemanden interessiert.

Bei AxisX den Intervalwert einfach auf 1 setzen. (ganz einfach wenn man weiß was und wo es ist :) ) 

Da ich es für die Y-Achse gebraucht hab hat es nicht auf Anhieb funktioniert weil aus irgendeinem Grund der gleiche Befehl für die y-Achse nicht funktioniert hat. Da der Chart grundsätzlich mit Datasets in meinem Fall gefüttert wird und dieser Tables mit je 2 Werten (pro Punkt im Diagramm) übergeben bekommt, hab ich den x-Achsen Interval auf 1 gestellt und dann quasi einfach die x und y Werte im Diagramm getauscht und so einfach das Diagramm gedreht. Wenn das jetzt undeutlich war hab ich unten nochmal einen Teil vom Code gepostet.

chart1.ChartAreas["ChartArea1"].AxisX.Interval = 1;

 

//Vorher

newRow1["X"] = itmSubCriteria.Text;

newRow1["Y"] = (double)itm[itmSubCriteria.Text];

//Nachher (in der Deklaration muss jetzt natürlich der Y-Wert ein String sein und x ein Double Wert)

newRow1["Y"] = itmSubCriteria.Text;

newRow1["X"] = (double)itm[itmSubCriteria.Text];

so far hoffe es ist halbwegs verständlich