ItemsView Class Items视图类

GoTo DevExpress Data Grid 数据网格

ItemsView Class Items视图类

使用 HTML-CSS 模板呈现项目(记录)。

Declaration 声明

public class ItemsView :
    ColumnView,
    ISupportCommandBindingForElements<string>,
    IDxHtmlDesignerDataProvider,
    IDxHtmlRepositoryOwner,
    IAccessibleGrid

Remarks 谈论

ItemsView 没有默认的数据表示形式。它使用 HTML-CSS 模板呈现项目(记录),您可以使用属性指定该模板,也可以使用事件动态指定该模板。

在这里插入图片描述

Specify Default Template 指定默认模板

使用 ItemsView.HtmlTemplate 属性将默认模板分配给项。为此,HtmlTemplate 对象公开了两个嵌套属性:

  • HtmlTemplate.Template — 指定定义 UI 元素布局的 HTML 代码。
  • HtmlTemplate.Styles — 指定应用于 UI 元素的 CSS 样式。

在设计时,您可以使用 Html 模板编辑器指定 HTML 和 CSS 代码。

在这里插入图片描述

Main Features of HTML and CSS templates HTML 和 CSS 模板的主要特点

Data binding 数据绑定

HTML 标记中的 ${FieldName} 语法插入控件数据源中的字段值。请参见 数据绑定。

Images 图像

HTML 标记允许您添加图像。

Buttons 按钮

HTML-CSS 标记允许您添加元素以模拟按钮。

Inplace Editors 就地编辑器

The 标记允许您将就地编辑器(存储库项目)嵌入到项目中,以显示和编辑数据源字段。

<input name="repositoryItemButtonEdit1" value="${Price}" class="editor"/>

确保启用 ColumnViewOptionsBehavior.Editable 选项,以便在鼠标单击时激活就地编辑器。
在这里插入图片描述
Mouse actions 鼠标操作

  • 项目视图包含用于响应 HTML 元素上的鼠标操作的事件:ItemsView.ElementMouseClick、ItemsView.ElementMouseDown 和 ItemsView.ElementMouseUp。
  • 还可以订阅 HTML 标记中元素的鼠标事件,以及在使用 Fluent API 时订阅的鼠标事件。

有关详细信息,请参阅以下主题:基于 HTML-CSS 的桌面 UI。

Specify Different Templates for Different Items 为不同的项目指定不同的模板

处理 ItemsView.QueryItemTemplate 事件以将自定义模板分配给各个项。此事件针对每个项重复触发。

以下 ItemsView.QueryItemTemplate 事件处理程序根据项的类型(IsOwnMessage 设置)将不同的模板分配给不同的项。

您可以在以下演示中找到此示例的完整代码:聊天客户端。

void OnQueryItemTemplate(object sender, QueryItemTemplateEventArgs e) {
    var message = e.Row as DevAV.Chat.Model.Message;
    if(message == null)
        return;
    if(message.IsOwnMessage)
        Styles.MyMessage.Apply(e.Template);
    else
        Styles.Message.Apply(e.Template);
    //...
}

Customize Items Dynamically 动态自定义项目

当特定项即将在屏幕上显示时,项视图将引发 ItemsView.CustomizeItem 事件。您可以处理此事件以动态自定义项目的 HTML 元素的样式和可见性。

使用事件的 Element 属性可访问当前已处理项的 HTML 元素。以下方法允许您按标记、类和 ID 检索 HTML 元素:

  • Element.FindElementsByTag — 返回具有指定标签的 HTML 元素的列表。
  • Element.FindElementsByClass — 返回属于指定类的 HTML 元素的列表。
  • Element.FindElementById — 返回具有指定 ID 的 HTML 元素。

这些方法返回的元素公开属性以更改元素显示设置。主要特性包括:

  • 元素。隐藏 — 允许您隐藏(折叠)元素。
  • 元素。Disabled (已禁用) - 允许您禁用元素。
  • 元素。Style — 允许您修改应用于元素的 CSS 样式属性。此对象为此目的公开了 SetBackgroundColor、SetForeColor、SetVisibility(显示空区域而不是元素)和 SetProperty 方法。

以下示例根据自定义逻辑更改 HTML 元素的可见性。

您可以在以下演示中找到此示例的完整代码:聊天客户端。

//CustomizeItem event handler:
void OnCustomizeItem(object sender, CustomizeItemArgs e) {
    //...
    if(message.IsLiked) {
        var btnLike = e.Element.FindElementById("btnLike");
        var btnMore = e.Element.FindElementById("btnMore");
        if(btnLike != null && btnMore != null) {
            btnLike.Hidden = false;
            btnMore.Hidden = true;
        }
    }
    if(message.IsFirstMessageOfBlock)
        return;
    if(!message.IsOwnMessage) {
        var avatar = e.Element.FindElementById("avatar");
        if(avatar != null)
            //Display an empty region instead of the 'avatar' element.
            avatar.Style.SetVisibility(Utils.Html.Internal.CssVisibility.Hidden);
    }
//...
}
内容概要:本文围绕可变桨叶四旋翼无人机的规范控制与点对点运动模拟展开,重点研究优化推力分配策略在翻转动作中的应用与性能比较。通过Matlab代码实现,构建了四旋翼动力学模型,并设计了多种控制算法以实现精确的姿态调整与轨迹跟踪。研究对比了不同推力分配方案在执行高机动性翻转动作时的稳定性、能耗效率与响应速度,旨在提升无人机在复杂飞行任务中的动态性能与控制精度。该仿真研究为无人机飞控系统的设计与优化提供了理论依据和技术支持。; 适合人群:具备一定自动控制理论基础和Matlab编程能力,从事无人机控制、飞行器动力学或机器人系统研究的科研人员及研究生。; 使用场景及目标:① 实现四旋翼无人机在三维空间中的精确点对点运动控制;② 对比分析不同推力分配策略在执行翻转等高难度动作时的控制效果与能耗表现,优化飞行性能;③ 为无人机自主飞行、特技飞行及复杂环境下的机动控制提供算法验证平台。; 阅读建议:此资源以Matlab仿真为核心,建议读者结合相关控制理论知识,深入理解代码实现细节,重点关注动力学建模、控制律设计与推力分配模块。在学习过程中,应动手调试参数,复现文中翻转动作的仿真结果,并尝试拓展至其他复杂飞行任务,以加深对无人机控制机理的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值