asp.net-mvc - Telerik Kendo Chart : 如何将图表绑定到字符串类型
问题描述
我一直在挣扎,我找不到任何与此相关的东西。我是剑道的新手,遗憾的是我找不到任何可以帮助我的问题、文档、论坛和所有这些的东西:他们根本没有帮助。
情况:我的 ASP .NET 应用程序中有一个视图模型。我正在尝试用一种称为“类型”的属性来制作图表。这个属性代表一种数据——比如说水果,比如“香蕉”、“苹果”等。这种类型当时只包含并且只有一个类型。它不能包含“苹果和香蕉”之类的东西。它也总是一个字符串。这种特权是更大模型的一部分。但我只对这个感兴趣。
现在,我喜欢做的事情:我想用剑道制作一张图表,从那个礼节开始。这意味着,我必须将我的图表绑定到我的模型,然后,它将能够知道其中一些类型被使用了多少次。例如,如果我有三个对象:名称:“Mjuzl”类型:“土豆”
名称:“Uijqf” 类型:“Apple”
名称:“Zjli”类型:土豆”
我希望我的 char 计算我的模型使用了两次 Potato 类型和一次使用 Apple 类型。 我知道如何获取包含使用我的模型的所有对象的数据源。(我之前已经使用过 Kendo Grid,但它非常简单)我现在的问题是我不知道 - 而且我无法找到任何 - 如何在图表中实际显示我想要的内容。我再说一遍,它们是字符串。我知道如何获取我的数据源。我不知道如何真正展示我想要展示的东西。(我应该使用列吗?部分?我不知道)
我是否需要从我的控制器构建一个 JSON 来要求数据库计数?剑道自己能做到吗?我很迷茫,我不知道剑道实际上在等待什么来使我的图表正常工作。该文档根本没有帮助。我已经研究了一段时间,我还没有找到任何描述完全相同的问题的东西。我一直在寻找几天。我画得很糟糕的图像是为了在我的问题上放一张图片:
我不要求为我做这件事,我要求一条道路。一种方法。 谢谢。
解决方案
一种方法是专门为您的图表创建一个视图模型,然后您可以根据您的数据填充该视图模型。
大致(未经测试的代码 - 只是给你一个想法),是这样的:
public class MyChartViewModel
{
public int TypeCount { get; set; }
public string TypeName { get; set; }
}
然后在填充 MyChartViewModel 的图表的读取方法中:
var myExistingDataModel = howeverYouGetYourDataHere;
var model = new MyChartViewModel();
var distinctTypes = myExistingDataModel.Select(x => x.Type).Distinct().ToList();
foreach (var distinctType in distinctTypes)
{
model.TypeCount = myExistingDataModel.Count(x => x.Type == distinctType);
model.TypeName = distinctType;
}
推荐阅读
- sql - 联接 3 个表(或交叉联接?)并输出 2 次 users.name 值
- html - 如何从 HTML 文件中获取带有正则表达式、sed 和 grep 的图像名称
- java - 访问帐户名/密码的字段
- python - 需要一种从 python 中正确确定 c 数据类型大小的方法
- python - 比较两个元组列表,然后返回真/假
- c# - 通过事件处理程序获取当前日期
- c# - 使用HttpClient分块上传大文件到Controller,IFormFile总是为空
- dart - 动态更改 AlertDialog 标题 (showDialog())
- python - 如何使用熊猫转换我的 Excel 文件中的所有列
- r - 为通过 setRefClass 创建的对象扩展 as.data.frame 和 as.matrix 方法