使用telerik制作PieSeries图表时:RadHtmlChart
是否可以,如果可以,您如何将DataFieldY属性设置为Excel上传中第一列的名称?
<telerik:RadHtmlChart runat="server" ID="RadHtmlChart1" Transitions="false" Width="450"
Height="450" Skin="Silk">
<Legend>
<Appearance Visible="false"></Appearance>
</Legend>
<PlotArea>
<Series>
<telerik:PieSeries DataFieldY="Number" NameField="Fruit" ExplodeField="IsExploded">
</telerik:PieSeries>
</Series>
</PlotArea>
</telerik:RadHtmlChart>
这需要通过客户端绑定来完成。
public string chartData = "[{'Fruit': 'Apple','Number': 8, 'Color': 'Blue'},{'Fruit': 'Orange','Number': 4, 'Color': 'Purple'},{'Fruit': 'Banana','Number': 3, 'Color': 'Red'},{'Fruit': 'Grapes','Number': 12, 'Color': 'Pink'},{'Fruit': 'Peace','Number': 2, 'Color': 'Orange'}]";
var jsonChartData = "<%=chartData%>";
var RadHtmlChart1 = $find('<%=RadHtmlChart1.ClientID %>');
RadHtmlChart1.set_dataSource(jsonChartData);
RadHtmlChart1.set_transitions(true);
RadHtmlChart1.repaint();
答案 0 :(得分:1)
你不能直接这样做。该控件可以使用多个数据源:
JSON文字的JavaScript数组(已粘贴)
一个IEnumerable集合(由声明数据源控件提供,如SqlDataSource;或者一个List;或者一个DataTable,你明白了)
Excel文件都不是。
您需要以某种方式解析excel文件以获取所需的集合:
也许Microsoft Interop程序集可以提供帮助
或Telerik SpreadProcessing(例如,ICellValue value = this.radSpreadsheet.ActiveWorksheet.Cells[0, 1].GetValue().Value;
,取自http://www.telerik.com/forums/basic-xslx-import-export-functionality-through-a-dataset)
其他一些解决方案当然可用