提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:龚雪|2022-04-26 10:11:43.860|阅读 107 次
概述:本系列文章将为大家介绍如何实现和应用模板,本节主要介绍模板语法,欢迎下载产品体验!
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
本系列文章将为大家介绍如何实现和应用模板,模板允许您自定义控件部分(标题、单元格、项目等)的呈现方式。
使用 *Template() 方法定义模板,例如:
您可以像在DevExtreme中一样将模板定义为JavaScript 函数,并将它们用于:
使用 *Template(new JS(...)) 将模板定义为函数。
在下面的示例中,List 的 ItemTemplate 被声明为 myList_itemTemplate 函数,该函数呈现项目内容并使用 jQuery 将自定义样式应用于项目。 JavaScript 函数方法用于访问模板中的 itemIndex 和 itemElement 参数,如果您使用 ERB 样式的构造,则这些参数不可用。
Razor C#
@(Html.DevExtreme().List() .DataSource(DataSource) .ItemTemplate(new JS("myList_itemTemplate")) )
Razor VB
@(Html.DevExtreme().List() _ .DataSource(DataSource) _ .ItemTemplate(New JS("myList_itemTemplate")) _ )
js
<script> function myList_itemTemplate(itemData, itemIndex, itemElement) { itemElement .addClass("my-custom-style") .append( $("<span>").text("Item index: " + itemIndex + ", Name: " + itemData.Name) ); } </script>
如果模板呈现静态内容,您可以像往常一样在模板中使用 HTML 助手。 例如,如果您配置网格列,并且列的单元格应显示相同的链接。 下面的代码展示了如何使用 ActionLink HTML助手来呈现这个链接。
Razor C#
@(Html.DevExtreme().DataGrid() .Columns(columns => { //... columns.Add().CellTemplate(@<text> @Html.ActionLink("Link Text", "Details") </text>); }) )
Razor VB
@Code Html.DevExtreme().DataGrid() _ .Columns(Sub(columns) columns.Add().CellTemplate(Sub() @<text> @Html.ActionLink("Link Text", "Details") </text> End Sub) End Sub) _ .Render() End Code
如果您需要使用模板参数,请使用以下方法:
Razor C#
@(Html.DevExtreme().DataGrid() .Columns(columns => { columns.Add().CellTemplate(@<text> @Html.Raw( Html.ActionLink("Link Text", "Details", "ControllerName", new { id = "ID_PLACEHOLDER" }, null) .ToString() .Replace("ID_PLACEHOLDER", "<%- data.OrderID %>") ) </text>); }) )
Razor VB
@Code Html.DevExtreme().DataGrid() _ .Columns(Sub(columns) columns.Add().CellTemplate(Sub() @<text> @Html.Raw( Html.ActionLink("Link Text", "Details", "ControllerName", New With {.id = "ID_PLACEHOLDER"}, Nothing) _ .ToString() _ .Replace("ID_PLACEHOLDER", "<%- data.OrderID %>") ) </text> End Sub) End Sub) _ .Render() End Code
此代码演示如果网格列中的链接依赖于 OrderID,如何创建模板。 ActionLink 具有 data.OrderID 模板参数应提供的动态路由值 (id),但是您应该使用占位符,因为 data.OrderID 不能传递给 id(ActionLink 是在服务器上生成的,而 data.OrderID 只能在客户端接收一个值)。
结果表达式:
js
<a href="/ControllerName/Details/"<%- data.OrderID %>">Link Text</a>
注意:您可以使用HTML元素替代助手,下面的示例说明了这一点。
Razor C#
@(Html.DevExtreme().DataGrid() .Columns(columns => { columns.Add().CellTemplate(@<text> <a href="@Url.Action("ActionName", "ControllerName")/<%- data.OrderID %>">Link Text</a> </text>); }) )
Razor VB
@Code Html.DevExtreme().DataGrid() _ .Columns(Sub(columns) columns.Add().CellTemplate(Sub() @<text> <a href="@Url.Action("ActionName", "ControllerName")/<%- data.OrderID %>">Link Text</a> </text> End Sub) End Sub) _ .Render() End Code
DevExtreme拥有高性能的HTML5 / JavaScript小部件集合,使您可以利用现代Web开发堆栈(包括React,Angular,ASP.NET Core,jQuery,Knockout等)构建交互式的Web应用程序。从Angular和Reac,到ASP.NET Core或Vue,DevExtreme包含全面的高性能和响应式UI小部件集合,可在传统Web和下一代移动应用程序中使用。 该套件附带功能齐全的数据网格、交互式图表小部件、数据编辑器等。
DevExpress技术交流群6:600715373 欢迎一起进群讨论
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn
文章转载自:慧都网本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
高性能HTML5/JavaScript开发框架,利用现代Web开发堆栈构建优异性能的应用程序。
DevExpress Universal Subscription行业领先的界面控件开发包,帮助企业构建卓越应用!
DevExpress DXperience Subscription高性价比的企业级.NET用户界面套包,助力企业创建卓越应用!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@cahobeh.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢