2009-08-19 11 views
1

Betrachten Sie ein Kreisdiagramm mit the ASP.NET charting controls.ASP.NET-Diagrammsteuerung: Kreisdiagramm und Beschriftungen in benutzerdefinierten Größen

Die Anforderung besteht darin, den Text zu steuern, der im Tortendiagramm gerendert wird. Ziel ist es, die Anzahl der Zeichen auf dem Etikett zu begrenzen. Das Diagramm ist derzeit an eine SqlDataSource gebunden.

alt text http://www.imagechicken.com/uploads/1250716996036841800.png

<asp:Chart ID="myPieChart" runat="server" DataSourceID="myDS"> 
    <Series> 
     <asp:Series ChartArea="myChartArea" Name="Series1" ChartType="Pie" 
        XValueType="Int32" XValueMember="SomeName" 
        YValueMembers="SomeNumber"> 
     </asp:Series> 
</Series> 
<ChartAreas> 
    <asp:ChartArea Name="myChartArea"> 
     <AxisY Title="Number"></AxisY> 
     <AxisX Title="Name"></AxisX> 
     <Area3DStyle Enable3D="True" Inclination="20" /> 
    </asp:ChartArea> 
</ChartAreas> 
</asp:Chart> 

Frage Wie würden Sie geben, entweder in dem <asp:Chart> Markup oder in Code-Behind, die Anzahl der Zeichen zu begrenzen, die/zum Kreisdiagramm gerendert werden gebunden?

Antwort

0

Ich hatte gehofft für eine Lösung, die speziell für die ASP.NET-Charting-Kontrollen wäre.

Da es keine klare Antwort für die Diagrammsteuerelemente gab, war es an der Zeit, zu den Quelldaten zu wechseln. Ich war zögerlich zu substring die Namen aus den Spalten zu einer benutzerdefinierten Länge, weil dieser Sproc von anderen Formularelementen auf anderen Seiten wiederverwendet/verbraucht wurde - a gridview.

Die Lösung war, eine neue Spalte namens DisplayName auf der Ergebnismenge in der gespeicherten proc erstellen. Anstatt die bestehenden ändern, ich eingeschlossen einfach eine neue Spalte:

SELECT 
SomeName 
,COUNT(SomeName) AS SomeNumber 
,SUBSTRING(SomeName,0,15) AS DisplayName 

Dies ist nicht eine teure Lösung im Hinblick auf die Entwicklung, Forschung, Zeit und Verarbeitungskosten, so ist es ein Gewinn. In den meisten Fällen sollte die Präsentationsebene diese Probleme beheben, aber in diesem Fall funktioniert die schnellere Lösung, wenn auf der Präsentationsebene keine klare Lösung vorhanden ist.

Danke an Russ und waqasahmed!

0

Sie können dazu die Anzahl der in die Datenquelle eingegebenen Zeichen begrenzen.

ODER

In der SQL-Prozedur können Sie Ellipsen (oder etwas in diesem Sinne) nach einer bestimmten Anzahl von Zeichen hinzufügen

1

es auf der Datenbank-Ebene in Ihrer SQL-Anweisung tun. Wenn Zeichen eine bestimmte Länge (z. B. 15) überschreiten, geben Sie nur die ersten 15 Zeichen zurück.

Verwandte Themen