将 javascript 个图表添加到 gridview?
Add javascript chart to gridview?
我进行了几次搜索,但没有找到任何可能对我有帮助的东西。
我有一个显示以下数据的简单 gridview:Sales.SalesTotal
和 Sales.Company
。这很好用。
现在的问题是我需要向此 gridview 的每一行添加一个 javascript
图表。这将类似于 to this example.
此 javascript 图表填充了使用公司名称(已在 gridview
和 SqlDataSource
中)作为参数的 WCF 服务。 WCF 调用如下所示: http://43.32.54.23/SalesWcf.svc/GetSales/Company
其中 company 是 gridview 中的公司名称。
问题是我不知道如何处理这个问题。这是我的gridview,非常简单:
<asp:GridView
id="GridView_sales" runat="server" AutoGenerateColumns="false" DataSourceID="SqlDataSourceSales">
<Columns>
<asp:BoundField DataField="Company" HeaderText="Company" ReadOnly="True">
<headerStyle Width="50" Font-Names="calibri"/>
<ItemStyle Font-Names="calibri" HorizontalAlign="Center"/>
</asp:BoundField>
<asp:BoundField DataField="SalesTotal" HeaderText="SalesTotal" ReadOnly="True" >
<headerStyle Width="60" Font-Names="calibri" ForeColor="#ffffff"/>
<ItemStyle Wrap="True" Font-Names="calibri"/>
</asp:BoundField>
<**** Where javascript chart goes, invoked with http://43.32.54.23/SalesWcf.svc/GetSales/Company ****/>
</Columns>
</asp:GridView>
<asp:SqlDataSource id="SqlDataSourceSales" runat="server"
ConnectionString="Data Source=SERVER;Initial Catalog=DB;Persist Security Info=True;..."
SelectCommand="SELECT SalesTotal, Company from Sales">
</asp:SqlDataSource>
感谢任何帮助。
编辑:
这是我的 amcharts 图表的样子:
var chart = AmCharts.makeChart("DivSalesChart", {
"type": "serial",
"theme": "light",
"valueAxes": [{
"id": "v1"
}],
"graphs": [
{
"id": "Company",
"valueField": "sales_num"
}],
"categoryField": "month_name",
"dataLoader": {
"url": "http://43.32.54.23/SalesWcf.svc/GetSales",
"format": "json"
}
});
添加用于呈现图表持有者的模板字段 div,其中包含用于持有公司 ID 的属性 data-companyId:
<asp:TemplateField>
<ItemTemplate>
<div class="salesChart" data-company='<%# Eval("Company")%>'></div>
</ItemTemplate>
</asp:TemplateField>
添加 Jquery 代码以使用 css class salesChart 查找所有 div,然后通过 ajax 调用公司的 WCF 服务来获取销售数据从 data-company
属性中获取的名称。最后,在 ajax 调用成功回调 chartContainer
div
上启动图表
$(function(){
$('.salesChart').each(function(index, chartContainer){
varcompanyName=$(chartContainer).attr('data-company');
AmCharts.makeChart(chartContainer,
{
"type": "serial",
"theme": "light",
"valueAxes": [{
"id": "v1"
}],
"graphs": [{
"id": "Company",
"valueField": "sales_num"
}],
"categoryField": "month_name",
"dataLoader": {
"url": "http://43.32.54.23/SalesWcf.svc/GetSales/"+ companyName,
"format": "json"
}
});
});
});
我进行了几次搜索,但没有找到任何可能对我有帮助的东西。
我有一个显示以下数据的简单 gridview:Sales.SalesTotal
和 Sales.Company
。这很好用。
现在的问题是我需要向此 gridview 的每一行添加一个 javascript
图表。这将类似于 to this example.
此 javascript 图表填充了使用公司名称(已在 gridview
和 SqlDataSource
中)作为参数的 WCF 服务。 WCF 调用如下所示: http://43.32.54.23/SalesWcf.svc/GetSales/Company
其中 company 是 gridview 中的公司名称。
问题是我不知道如何处理这个问题。这是我的gridview,非常简单:
<asp:GridView
id="GridView_sales" runat="server" AutoGenerateColumns="false" DataSourceID="SqlDataSourceSales">
<Columns>
<asp:BoundField DataField="Company" HeaderText="Company" ReadOnly="True">
<headerStyle Width="50" Font-Names="calibri"/>
<ItemStyle Font-Names="calibri" HorizontalAlign="Center"/>
</asp:BoundField>
<asp:BoundField DataField="SalesTotal" HeaderText="SalesTotal" ReadOnly="True" >
<headerStyle Width="60" Font-Names="calibri" ForeColor="#ffffff"/>
<ItemStyle Wrap="True" Font-Names="calibri"/>
</asp:BoundField>
<**** Where javascript chart goes, invoked with http://43.32.54.23/SalesWcf.svc/GetSales/Company ****/>
</Columns>
</asp:GridView>
<asp:SqlDataSource id="SqlDataSourceSales" runat="server"
ConnectionString="Data Source=SERVER;Initial Catalog=DB;Persist Security Info=True;..."
SelectCommand="SELECT SalesTotal, Company from Sales">
</asp:SqlDataSource>
感谢任何帮助。
编辑:
这是我的 amcharts 图表的样子:
var chart = AmCharts.makeChart("DivSalesChart", {
"type": "serial",
"theme": "light",
"valueAxes": [{
"id": "v1"
}],
"graphs": [
{
"id": "Company",
"valueField": "sales_num"
}],
"categoryField": "month_name",
"dataLoader": {
"url": "http://43.32.54.23/SalesWcf.svc/GetSales",
"format": "json"
}
});
添加用于呈现图表持有者的模板字段 div,其中包含用于持有公司 ID 的属性 data-companyId:
<asp:TemplateField>
<ItemTemplate>
<div class="salesChart" data-company='<%# Eval("Company")%>'></div>
</ItemTemplate>
</asp:TemplateField>
添加 Jquery 代码以使用 css class salesChart 查找所有 div,然后通过 ajax 调用公司的 WCF 服务来获取销售数据从 data-company
属性中获取的名称。最后,在 ajax 调用成功回调 chartContainer
div
$(function(){
$('.salesChart').each(function(index, chartContainer){
varcompanyName=$(chartContainer).attr('data-company');
AmCharts.makeChart(chartContainer,
{
"type": "serial",
"theme": "light",
"valueAxes": [{
"id": "v1"
}],
"graphs": [{
"id": "Company",
"valueField": "sales_num"
}],
"categoryField": "month_name",
"dataLoader": {
"url": "http://43.32.54.23/SalesWcf.svc/GetSales/"+ companyName,
"format": "json"
}
});
});
});