我正在制作一个非常简单的投票应用程序。用户用值“是”或“否”给某个数字发短信,结果通过 AJAX 在投影仪上实时显示。有五个不同的项目可供投票(全部是或否)。
现在我有一个 SQL 视图,它返回[poll_name, vote_value, value_count]
vote_value 是“是”还是“否”的地方。
使用 RadHtmlChart,我正在尝试显示一个堆叠的 BarChart,每个条形图都有一个条形图poll_name
,红色条形表示没有投票,蓝色条形表示赞成票。我尝试更改BarChart 示例中的代码并将其与SqlDataSource 示例合并:
<asp:SqlDataSource ID="sqlResults" runat="server" ConnectionString="<%$ ConnectionStrings:MyDB %>"
SelectCommand="select poll_name, vote_value, value_count from vw_sms_pollResults order by poll_id" />
<tel:RadScriptManager runat="server" ID="rsmScriptManager" />
<tel:RadAjaxPanel runat="server" ID="rapPanel" LoadingPanelID="ralpLoadingPanel" EnableAJAX="true">
<tel:RadHtmlChart runat="server" ID="rhcResults" Width="800" Height="500" Transitions="true" DataSourceID="sqlResults">
...
<PlotArea>
<Appearance>
<FillStyle BackgroundColor="White" />
</Appearance>
<XAxis DataLabelsField="poll_name">
<MajorGridLines Visible="false" />
<MinorGridLines Visible="false" />
</XAxis>
<YAxis AxisCrossingValue="0">
<MajorGridLines Visible="false" />
<MinorGridLines Visible="false" />
</YAxis>
<Series>
<tel:BarSeries Stacked="true" DataFieldY="value_count">
<Appearance FillStyle-BackgroundColor="Red" />
</tel:BarSeries>
</Series>
</PlotArea>
</tel:RadHtmlChart>
</tel:RadAjaxPanel>
不幸的是,我最终得到了我想要的两倍多的条:每个“是”和“否” poll_name
,它们都是相同的颜色(显然),并且它们没有堆叠。理想情况下,我可以告诉它BarSeries
为 (ie, group by) 的每个值创建一个新值vote_value
。
我应该如何处理数据或更改我的标记来解决这个问题?将来我希望允许任意数量的响应,所以我不愿意将我的查询更改为仅具有“yes_count”和“no_count”列,但与此同时我可能不得不这样做。