Я хотел отформатировать значения внутри круговой диаграммы. Я использую элемент управления диаграммой asp.net.
значения поступают из базы данных и отображаются как «12345678», но я хочу показать их какэто «12 345 678».
я уже пробовал это
ChartAb.Series[0].Label = "#VALY{#,###}";
, оно преобразует значения в «12 345 678», но также изменяет легенду диаграммы, где метки заменяются значениями, такими как «Покупается» заменяетсяс "12,345,234", а оставшиеся заменяются на "32,123"
, поэтому для меня это бесполезно.Как можно получить формат запятой без изменения меток.
Я также попытался отформатировать значение в запросе SQL, он показывает результаты, как я хотел в сервере SQL, но не отображать этот формат на диаграмме.
здесьмой код страницы cs
protected void Budget_Issuance_HandsetChart_Pie()
{
// Convert.ToDecimal(number).ToString("#,##0.00");
Budget_Issuance_Handset_Chart_Pie.Visible = true;
string query = string.Format("select b.issuanceType, Format(SUM(b.budgetAmount), '##,##0') as Budget from tblbudget b inner join tblContract c on b.contractID=c.contractID where b.budgetType='Handset' " + queryVal+" group by b.issuanceType");
DataTable dt = GetData(query);
Budget_Issuance_Handset_Chart_Pie.DataSource = dt;
foreach (Series series in Budget_Issuance_Handset_Chart_Pie.Series)
{
series.ChartType = SeriesChartType.Pie;
}
// Chart1.Series[0].ChartType = (SeriesChartType)int.Parse("10");
Budget_Issuance_Handset_Chart_Pie.Legends[0].Enabled = true;
Budget_Issuance_Handset_Chart_Pie.Series[0].XValueMember = "issuanceType";
Budget_Issuance_Handset_Chart_Pie.Series[0].YValueMembers = "Budget";
Budget_Issuance_Handset_Chart_Pie.Series[0].IsValueShownAsLabel = true;
Budget_Issuance_Handset_Chart_Pie.Series[0].Label = "#VALY{#,###}";
Budget_Issuance_Handset_Chart_Pie.DataBind();
// UtilisedBudget(null,EventArgs.Empty);
}
а вот код страницы aspx
<asp:Chart ID="Budget_Issuance_Handset_Chart_Pie" runat="server" Height="400px" Width="500px" Visible="false">
<Titles>
<asp:Title ShadowOffset="3" Name="Items" />
</Titles>
<Legends>
<asp:Legend Alignment="Center" Docking="Bottom" IsTextAutoFit="False" Name="Default"
LegendStyle="Row" />
</Legends>
<Series>
<asp:Series Name="Default" />
</Series>
<ChartAreas>
<asp:ChartArea Name="ChartAreaHandsetIssuance" BorderWidth="0" />
</ChartAreas>
</asp:Chart>
спасибо