大庆城市建设投资网站标准品购买网站

web/2025/10/2 12:22:29/文章来源:
大庆城市建设投资网站,标准品购买网站,怎样连接服务器,4399网页游戏大全作者备注《进击吧#xff01;Blazor#xff01;》是本人与张善友老师合作的Blazor零基础入门系列视频#xff0c;此系列能让一个从未接触过Blazor的程序员掌握开发Blazor应用的能力。视频地址#xff1a;https://space.bilibili.com/483888821/channel/detail?cid151273Bl… 作者备注《进击吧Blazor》是本人与张善友老师合作的Blazor零基础入门系列视频此系列能让一个从未接触过Blazor的程序员掌握开发Blazor应用的能力。视频地址https://space.bilibili.com/483888821/channel/detail?cid151273Blazor WebAssembly 是单页应用 (SPA) 框架用于使用 .NET 生成交互式客户端 Web 应用采用 C# 代替 JavaScript 来编写前端代码本系列文章因篇幅有限省略了部分代码完整示例代码https://github.com/TimChen44/Blazor-ToDo第一章6.安全图表的作用我就不扯了想要让系统高大上就少不了它作为一个加分项我们自然也要给我们ToDo引用来一波。目录Chart控件选择改造ToDo1.引用组件2.统计页3.迷你图次回预告Chart控件选择目前还没有比较优秀的Blazor原生Chart控件这也是我们将来需要提升Blazor生态的重要任务之一。但是无需失望Blazor支持C#调用JS反之亦可所以社区中有不少通过此技术对现有JS版本的Chart控件二次分装的Blazor组件可用。这里我就推荐本人封装G2Plot后的Blazor组件ant-design-charts-blazor。文档地址https://ant-design-blazor.gitee.io/zh-CN/charts/introduce源码地址https://github.com/ant-design-blazor/ant-design-charts-blazor技术实现方式介绍https://zhuanlan.zhihu.com/p/163808856改造ToDo1.引用组件通过命令或可视化界面为ToDo.Client添加AntDesign.Charts组件$ dotnet add package AntDesign.Charts 在 wwwroot/index.html(WebAssembly) 或 Pages/_Host.razor(Server) 中引入静态文件:script srchttps://unpkg.com/antv/g2plotlatest/dist/g2plot.js/script script src_content/AntDesign.Charts/ant-design-charts-blazor.js/script 在 _Imports.razor 中加入命名空间using AntDesign.Charts 将Charts命名空间加入全局引用拥有使用时省略完整命名路径的好处但是请注意当Chart中的组件与其他组件重名时不论Chart组件还是其他组件都需要补上完整命名路径考虑到Chart使用的页面并不多所以本人的习惯不会将他加入 _Imports.razor中。2.统计页我们用柱状图做一个每日代办事项数量统计图ChartAmountDto.cs在ToDo.Shared项目中创建用于显示数据的实体。public class ChartAmountDto {public string Day { get; set; }public string Type { get; set; }public int Value { get; set; } } Day字段存储日期文本。Type存储重要度信息包含“普通”“重要”两个值图表中也是用这个进行分组显示。Value存储具体的数值。ChartController.cs在ToDo.Server项目新建ChartController控制器用于提供图表所需的数据。[ApiController] [Route(api/[controller]/[action])] public class ChartController {TodoContext Context;public ChartController(TodoContext context){Context context;}//每日待办数量public ListChartAmountDto GetAmountDto(){return Context.Task.GroupBy(x new { x.PlanTime, x.IsImportant }).Select(x new ChartAmountDto(){Day x.Key.PlanTime.ToString(yy-MM-dd),Type x.Key.IsImportant ? 普通 : 重要,Value x.Count(),}).ToList();} } 通过对计划日期和重要度进行分组然后对分组结果进行计数接口返回的部分数据结构如下[{day:20-09-25,value:2,type:重要},{day:20-10-10,value:9,type:重要},{day:20-10-11,value:6,type:重要},{day:20-10-14,value:2,type:重要},{day:20-10-17,value:6,type:重要},{day:21-01-28,value:1,type:重要} ] Statistics.razor在ToDo.Client项目添加Statistics.razor并填入以下代码page /statisticsSpin SpinningisLoadingAntDesign.Charts.StackedColumn refamountChart ConfigamountConfig TItemChartAmountDto / /Spin AntDesign.Charts.StackedColumn 通过完整的路径添加图表控件。refamountChart 提供了一种引用组件实例的方法随后可以申明一个变量存放组件的引用。ConfigamountConfig 配置图表显示配置。TItemChartAmountDto 定义图表数据类型。添加Statistics.razor.cs文件。public partial class Statistics {[Inject] public HttpClient Http { get; set; }bool isLoading false;IChartComponent amountChart;readonly StackedColumnConfig amountConfig new StackedColumnConfig{Title new Title{Visible true,Text 每日代办数量统计},ForceFit true,Padding auto,XField day,YField value,YAxis new ValueAxis{Min 0,},Meta new{day new{Alias 日期},},Color new[] { #ae331b, #1a6179 },StackField type};protected async override Task OnInitializedAsync(){isLoading true;var amountData await Http.GetFromJsonAsyncListChartAmountDto($api/Chart/GetAmountDto);await amountChart.ChangeData(amountData);await base.OnInitializedAsync();isLoading false;} } IChartComponent amountChart;变量用来存放组件实例引用之后我们就可能使用这个对象对Chart组件进行各类操作。StackedColumnConfig amountConfig定义了堆积柱状图的配置Text 每日代办数量统计 定义了标题文本XField day X轴绑定的字段名YField value Y轴绑定的字段名注意此处绑定字段名是区分大小写的通常c#的dto类字段名会采用大驼峰然而将dto转json默认模式下会将字段名改成小驼峰格式所以注意此处字段名的差异。Meta new { day new { Alias 日期 } } 定义day字段所在州轴显示的文本Color new[] { #ae331b, #1a6179 } 柱状图的颜色如果不指定组件会使用默认颜色StackField type定义了堆砌的字段更多的属性配置可以详见G2Plot组件的文档https://antv-g2plot.gitee.io/zh/examples/galleryMainLayout.razor添加统计菜单项MenuItem RouterLink/statistics RouterMatchNavLinkMatch.Prefix统计 /MenuItem 运行效果3.迷你图图表图表有图有表所以我们需要将我们的图表与我们的代办列表集合。我们的代办记录中有计划日期和截至日期所以我们可以结合当前日期就能做出一个剩余时间进度迷你图。TaskItemTaskItem.razor中添加以下代码div classchart{double progress 0;if (Item.IsFinish false Item.Deadline.HasValue)progress (double)Item.Deadline.Value.Subtract(DateTime.Now).TotalHours / (double)Item.Deadline.Value.Subtract(Item.PlanTime).TotalHours;}AntDesign.Charts.RingProgress Dataprogress ConfigprogressConfig/AntDesign.Charts.RingProgress /div 我们先计算剩余时间结果数值区间在0~1之间然后使用RingProgress组件显示如果已经完成的任务默认值为0。AntDesign.Charts.RingProgress 圆形进度迷你图。Dataprogress 图表数值ConfigprogressConfig 图表配置最后添加一些样式位置上美化一下.task-card-item .chart {margin-left: 8px; } 在TaskItem.razor.cs中添加迷你图配置readonly RingProgressConfig progressConfig new RingProgressConfig {Width 30,Height 30, }; 运行效果随着时间流逝剩余时间减少圆形精度蓝色部分会越来越少次回预告第一章 8.站点部署下次将迎来Todo应用的最终回我们通过一些虚拟场景来演示如何部署Blazor应用。学习资料更多关于Blazor学习资料https://aka.ms/LearnBlazorMSReactor扫码关注我们Bilibili微软Reactor_SH新浪微博MSReactorShanghai知乎微软 Reactor球分享球点赞球在看

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/85609.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

固安县城乡和住房建设局网站重庆工程造价信息价查询

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介YOLOv5 简介YOLOv5 特点 车辆和行人目标检测系统 二、功能三、系统四. 总结 一项目简介 # 深度学习之基于 YOLOv5 车辆和行人目标检测系统介绍 深度学习在…

贵州建设网老网站cms网站有哪些

Golang并发编程 进程和线程及协程并行和并发golang 创建一个协程golang停止一个协程golang协程休眠Golang协程状态golang协程安全golang共享变量和临界区golang协程优先级golang协程安全数据类型golang如何解决协程安全问题golang通道golang通道缓冲golang通道同步golang通道方…

网站导航颜色台山网站建设

ContentCachingRequestWrapper 是 Spring Framework 中提供的一种包装类,它扩展了 HttpServletRequestWrapper 类,用于缓存请求体的内容。 通常在处理 HTTP 请求时,原生的 HttpServletRequest 对象中的输入流 (getInputStream()) 只能被读取一…

网站建设框架程序企业如何建设网站

为什么需要参数化? 我们在做接口测试的过程中,会遇到需要测试同一个接口使用不同的数据的情况,如果每次去一个个填写数据就太麻烦了,这时我们就需要用到接口参数化,我们把数据单独的存放在一个文件中管理,…

西班牙语网站设计公司哪家好漂亮公司网站源码打包下载

稀疏数组的处理方法是: 1)记录数组一共有几行几列,有多少个不同的值 2)思想:把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模 例如下面原数组对应稀疏数组:

公司搭建网站服务东莞东智通人才招聘网

目录 前言 什么是类? 定义一个类 创建对象 访问和修改属性 方法 类的继承 多态 封装 特殊方法 属性装饰器 总结 前言 Python 是一种面向对象的编程语言,它允许程序员通过类和对象来组织和管理代码。面向对象编程(OOP&#xff09…

企业网站托管多少钱东莞代理记账

电脑端引入 jQuery UI 可以实现。而手机并没有 mousemove 等事件,所以这里采用手机事件:touchstart 和 touchmove 实现拖拽。 一、引入: 只要引入 jQuery.js 和 dragger.js(如下)即可 注:实现拖拽部分转…

药企做网站区块链开发语言

问题场景: 今天在springboot中集成spring事务的时候,遇到了一个大坑。如果(springbootdubbo)中添加 Service、Transactional 两个注解的时候,就不能进行dubbo服务注册了。 解决历程: 1,先是在…

建高级网站青岛装饰公司十强排名

1. 题目 给定两个字符串 s 和 t,判断它们是否是同构的。 如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。 所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。 两个字符不能映射到同一个字符上,但字符可…

网站注册收入中国航发网上电子商城网址

目录 第一种情况:直接修改计算属性 不生效举例 解决方案1:直接修改依赖变量 解决方案2:为计算属性设置 set 方法 第二种情况:直接修改依赖数据 不生效举例 解决方案 第一种情况:直接修改计算属性 在Vue中&#x…

上海的加盟网站建设苏州百度运营公司排名

Linux中关于权限的管控级别有2个级别,分别是: 针对用户的权限控制 针对用户组的权限控制 比如,针对某文件,可以控制用户的权限,也可以控制用户组的权限。 1、用户组管理 1.1、创建用户组 groupadd 用户组名 1.2、删除用户组 groupdel 用户…

建网站的公司 快云深圳光明区最新消息

线程概述 线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只…

珠海网站制作策划企业网站建设招标

wcf:rest介绍 管理多个资源之间的关系可能是RESTful API的重要组成部分。 在这篇文章中,我们将看到使用REST API可以管理多对多关系。 我们以一个简单的用户 / 组关系为例。 假设用户和组是两个单独的资源(例如/ users和/ groups )&#xff…

网站ftp怎么登陆快车app官方下载

AI大模型的一个痛点就是训练数据有截止日期,例如chatgpt的训练数据截止日期是2021年10月。这导致模型回答截止日期之后产生的新闻事件或者专业知识时不够准确。 将AI和搜索引擎结合起来,似乎是一种解决方式。 目前,国内外公布了不少AI搜索引…

无锡h5网站建设网站必须做301重定向吗

1. 日常生活中的应用 智能家居 场景描述:智能家居系统通过集成各种设备的API接口,实现远程控制和自动化。例如,通过API接口,用户可以通过手机应用控制家中的灯光、温度、安防系统等。案例:某智能家居品牌通过集成智能…

windows10php网站建设在线视频直播网站建设

guava集合操作类的使用我目前正在为LibFX添加一项新功能,为此我创建了一些类似于Java Collections Framework的自定义集合。 我一直在寻找可以与之对抗的测试,并很高兴发现Google的Guava包含了我所需要的:一个庞大的测试套件,可以…

自适应型网站建设服务电话wordpress创建公告

目录 1、使用SPY查看窗口的信息 2、使用SPY查看某些软件UI窗口用什么UI组件实现的 2.1、查看海康视频监控客户端安装包程序 2.2、查看华为协同办公软件WeLink 2.3、查看字节协同办公软件飞书 2.4、查看最新版本的Chrome浏览器 2.5、查看小鱼易连视频会议客户端软件 2.6…

个人网站推广 公司上海网页设计公司选择兴田德润

centos7虚拟机和docker的安装:可以参考之前的博文 CPU、mysql-exporter、docker监控模板:百度网盘 提取码:0000 先查看服务器时间是否和当前时间一致,如果不一致,查看对应设置:centos7时间同步博文 一、…

湖北网站注册设计公司河北省市场监督管理局

来源:智造智库工业4.0在德国被认为是第四次工业革命,主要是指,在“智能工厂”利用“智能备”将“智能物料”生产成为“智能产品”,整个过程贯穿以“网络协同”,从而提升生产效率,缩短生产周期,降…

网络营销的网站的分析网站html5模板

注意:本文不仅含有SpringBoot中常见的注解,还有其它框架的注解。因为注解之间会相互配合使用,所以每一个注解的示例与其他的注解都会有部分相似,请选择查看。 文章目录 01、SpringBootApplication02、Configuration03、EnableAuto…