Управление диаграммой ASP.NET: круговая диаграмма и метки нестандартного размера - PullRequest
1 голос
/ 20 августа 2009

Рассмотрим круговую диаграмму, используя элементы управления диаграммой ASP.NET .

Требование заключается в управлении текстом, отображаемым на круговой диаграмме. Цель состоит в том, чтобы ограничить количество символов на этикетке. График в настоящее время привязан к SqlDataSource.

альтернативный текст 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>, либо в code-behind, чтобы ограничить количество символов, которые связаны / отображаются на круговой диаграмме?

Ответы [ 3 ]

1 голос
/ 20 августа 2009

Сделайте это на уровне базы данных в вашем операторе SQL. Если символы превышают определенную длину (например, 15), верните только первые 15 символов.

0 голосов
/ 23 августа 2009

Я надеялся на решение, которое было бы специфично для элементов управления диаграммой ASP.NET.

Не видя четкого ответа для элементов управления графиком, пришло время перейти к исходным данным. Я не решался substring имен из столбцов произвольной длины, потому что этот sproc был повторно использован / использован другими элементами формы на других страницах - gridview.

Решением было создание НОВОЙ КОЛОННЫ с именем DisplayName в наборе результатов в сохраненном процессе. Вместо того, чтобы изменять существующий, я просто включил новый столбец:

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

Это не дорогое решение с точки зрения разработки, исследований, времени и стоимости обработки, так что это победа. В большинстве случаев уровень представления должен решать эти проблемы, но в этом случае более быстрое решение работает, когда нет четкого решения на уровне представления.

Спасибо Руссу и Вакашамеду!

0 голосов
/ 20 августа 2009

Вы можете сделать это, ограничив количество символов, вводимых в источник данных.

OR

В вашей процедуре SQL вы можете добавить эллипсы (или что-то в этом роде) после определенного количества символов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...