【发布时间】:2016-11-18 15:35:32
【问题描述】:
我有一个 ASP.NET Core 网站,它从模型中获取数据并创建一个动态 HTML 表以将其显示在页面上。我在页面上有 3 个选择列表来确定对正在显示的数据的过滤:
<select id="Timeframe" name="Timeframe" asp-for="timeframe" asp-items="@Model.timeframes"></select>
<select id="Category" name="Category" asp-for="category" asp-items="@Model.categories"></select>
<select id="FormOption" name="FormOption" asp-for="formOption" asp-items="@Model.formOptions"></select>
构建表格的代码如下。过滤器确定向表中添加(和填充)的行数和列数。
<div>
@if (Model.selectedForm.rows.Count > 0)
{
<table name="Displaytable">
<tr>
<th></th>
<th>
Forms
</th>
@foreach (var stage in Model.selectedForm.rows[0].stages)
{
<th>
@Html.DisplayFor(modelitem => stage.label)
</th>
}
<th>
TotalTime
</th>
</tr>
@foreach (var row in Model.selectedForm.rows)
{
<tr>
<th>
@Html.DisplayFor(modelItem => row.label)
</th>
<td>
@Html.DisplayFor(modelItem => row.formCount)
</td>
@foreach (var stage in row.stages)
{
<td>
@Html.DisplayFor(modelitem => stage.timespan.TotalHours)
</td>
}
<td>
@Html.DisplayFor(modelitem => row.totalTimespan.TotalHours)
</td>
</tr>
}
</table>
}
</div>
这些过滤器通过一个按钮提交,并根据选择列表的值更改数据的行数和列数(以及每列和每行中的数据)。
根据过滤器的不同,我可以有 2 行到 50 行,除了我的 formOptions 之一,通常会有一个标签和一个数据列(这将在 Google 中转换为一个条形图表)。
我已经拥有所有图表所需的所有数据,以便为每个过滤器正确输入表格 - 我的问题是如何根据这些数据实际构建 Google 图表,根据选择的过滤器将以与我的表格生成方式类似的方式更改图表显示方式?
我的意图是在一个表中包含原始数据的视图(我可以访问以验证图表中显示的数据是否正确),然后另一个视图在 Google 图表中而不是表中显示所述数据已创建。
【问题讨论】:
标签: javascript c# charts google-visualization asp.net-core-mvc