首页 > 其他分享 >一文详解DevExpress的HTML & CSS模板如何实现集合渲染

一文详解DevExpress的HTML & CSS模板如何实现集合渲染

时间:2022-11-10 09:24:02浏览次数:85  
标签:开发人员 DevExpress HTML CSS 集合 模板 属性

DevExpress WinForm拥有180+组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForms能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任!

获取DevExpress 最新版下载

许多DevExpress WinForm数据感知控件都支持HTML & CSS模板(包括WinForms Data Grid、WinForms Gantt控件),这些控件显示纯数据(其中每个数据字段存储简单值,如数字、字符串、布尔值等)时,数据绑定语法允许开发人员不受限制地构造模板。

<div>${ModelName}</div>
<div>${Price}</div>
<div>$Available: {InStock}</div>
<img src="${Photo}"/>

有些数据源还可能包含存储项集合的数据字段:List、数组、数据集等,数据网格显示具有简单属性(Title、Manager、Due Data)的任务,以及一个集合属性(“Members”属性返回分配给该卡片的员工列表)。

界面控件DevExpress WinForm的HTML & CSS模板——如何实现集合渲染?

在以前的版本中,可以通过在CustomItemTemplate事件中操作模板来显示来自这些属性的数据。这意味着开发人员需要手动检查这个特定数据记录的收集容量,为每个项目创建一个HTML元素,并用真正的HTML标记替换预先添加的假元素。

void OnCustomItemTemplate(object sender, TileViewCustomItemTemplateEventArgs e) {
var task = tileView1.GetRow(e.RowHandle) as EmployeeTask;
var sb = new StringBuilder();
foreach(var member in task.Members) {
sb.Append("<div class=\"initials\">");
sb.Append(member.Initials);
sb.Append("</div>");
}
e.HtmlTemplate.Template = e.HtmlTemplate.Template.Replace("", sb.ToString());
}

在下一个重大版本(v22.2)更新中,开发人员可以避免手动定制模板,并利用更原生的方法。标记是唯一的DevExpress元素,它允许开发人员指定一个集合属性,其中的项需要可视化,以及必须应用于这些项的模板。

界面控件DevExpress WinForm的HTML & CSS模板——如何实现集合渲染?
  • 第1至3行 - 应用于每个集合项的模板,注意这些模板必须在控件的主模板之前声明。
    • ${Initials}绑定告诉模板它应该显示"Initials"属性的值。
    • title属性允许集合项显示具有“FullName”属性值的提示。
  • 第18行和第19行 - <dx-collection>标记。
    • Items属性指向集合属性。
    • ItemTemplate属性指定必须应用于集合项的模板ID。

除了这个核心功能,开发人员可以利用条件CSS格式,在之前的文章中有介绍:如何使用HTML&CSS模板的条件样式?

dx-class属性支持集合的四个惟一属性:

  • dx-first和dx-last - 应用于集合的第一个和最后一个项,如果集合只有一个项,则忽略这两种样式。
  • dx-odd 和 dx-even — 用于索引为奇数和偶数的项,第一个集合项是偶数(索引为0)..
界面控件DevExpress WinForm的HTML & CSS模板——如何实现集合渲染?
<template id="template for items">
<div class="text circle"
dx-class="{dx-odd:ci-odd; dx-even:ci-even; dx-first:ci-first; dx-last:ci-last;}">
${Initials}
</div>
</template>
.ci-odd { background-color: White; }
.ci-even{ background-color: Black; }
.ci-first{ background-color: Gray; }
.ci-last { background-color: Orange; }

DevExpress技术交流群6:600715373      欢迎一起进群讨论

更多DevExpress线上公开课、中文教程资讯请上中文网获取

标签:开发人员,DevExpress,HTML,CSS,集合,模板,属性
From: https://www.cnblogs.com/AABBbaby/p/16875946.html

相关文章

  • 爱心代码Html
    1<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN">2<HTML>3<HEAD>4<TITLE>Love</TITLE>5<METANAME="Generator"CONTENT="Ed......
  • 爱心代码 HTML/CSS3
     <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN"><HTML><HEAD><TITLE>Love</TITLE><METANAME="Generator"CONTENT="EditPlus"><METANAME="Author"......
  • 一些有用的 HTML 字符实体 < >"&
    ResultEntityName &nbsp;<<>>&&amp;""'&apos;¢&cent;£&pound;¥&yen;€&euro;©&copy;®&reg;     ......
  • live sass compiler ,VSCode插件自动将sass解析成css
     https://www.jianshu.com/p/95af6b6c6490{      // 是否生成对应map "liveSassCompile.settings.generateMap": true, "liveSassCompile.settings.aut......
  • HTML----常用标记(文本、文字、超链接与锚点连接)
    1.标记的分类单标记:只有一个标记既是开始,也是结束,如:图片、视频双标记:又开始有结束,成对出现的,主要作用就是描述标记的内容,如:div2.文本、文字<font></font......
  • HTML----介绍
    HTML开发工具:vscode推荐书籍:HTML+css入门到精通1.HTML介绍超文本标记语言:浏览器只能看懂HTML、css、js,所以web开发中HTML是最基本的一门语言,普通的文本扩展上音频、视......
  • DevExpress winform XtraEditor常用控件
    ComboBoxEdit这个控件和winform自带的控件差不多,使用起来也方便,在designer页面拖拽控件之后可以直接在页面添加要显示的项目:后台的代码控制也方便1cbBoxSex.Propert......
  • CSS 如何实现五彩斑斓的“呼吸字”?速度拿去装杯!
    什么是五彩斑斓的“呼吸字”??不多哔哔,先用【码上掘金】来看看实现效果:​​代码片段​​谁不喜欢这种金光闪闪、有动效的字?(实际颜色可调,按你喜欢)用来做网页头部文字,效果拉起来......
  • 开放的样式文件,皕杰报表支持自行设置css文件
    我们在浏览器上浏览报表的时候,报表显示的样式实质上是css文件控制的。皕杰报表中,css样式文件在资源文件夹report_res/skin下,包含query.css、table.css、toolbar.css、fillin......
  • html中使用mqtt
    MQTT.js 是一个开源项目,支持nodejs和Browserjs,这里对比一下nodejs和Browserjs的用法:注:nodejs是运行在webserver的js,Browserjs意思是运行在浏览器上的js,也就是H......