2009-08-19 7 views
1

the ASP.NET charting controlsを使用する円グラフを考えてみましょう。ASP.NETチャートコントロール:円グラフとカスタムサイズのラベル

必要条件は、円グラフに表示されるテキストを制御することです。目標はラベルの文字数を制限することです。チャートは現在SqlDataSourceにバインドされています。

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> 

質問 はどのようにして円グラフにレンダリング/バインドされている文字の数を制限するために、<asp:Chart>マークアップで、またはコードビハインドのいずれかで、指定したのでしょうか?

答えて

0

私は、ASP.NETチャートコントロールに特有の解決策を望んでいました。

チャートコントロールの明確な答えがないので、ソースデータに移動する時間がありました。私はsubstringの名前にカラムからカスタムの長さに躊躇していました。そのsprocは他のページの他のフォーム要素で再利用/消費されていたからです - gridview

解決策は、ストアドプロシージャの結果セットにDisplayNameというNEW COLUMNを作成することでした。

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

これは、開発、研究、時間、および処理コストの面で高価な解決策ではないので、それは勝利だ:代わりに、既存の変更のため、私は単純に新しい列が含まれています。ほとんどの場合、プレゼンテーション層はこれらの問題を処理する必要がありますが、この場合、プレゼンテーション層に明確な解決策がない場合は、より高速なソリューションが機能します。

Russさんとwaqasahmedさんに感謝します。

0

これは、データソースに入力された文字数を制限することで可能です。

したり、SQLのプロシージャで

は、あなたが

1

があなたのSQL文でデータベース層でそれを実行した文字の特定の番号の後に省略記号(またはその効果に何かを)追加することができます。 文字が一定の長さ(15など)を超える場合は、最初の15文字だけを返します。

関連する問題