界面控件DevExpress Blazor v26.1新版亮点 - TreeList & 数据编辑器

DevExpress Blazor控件为使用C#为Blazor服务器和Blazor WebAssembly创建高影响力的用户体验,其附带了70+个原生的Blazor组件(包括DataGrid、Pivot Table、Scheduler、图表、数据编辑器和报表)。

在上文中(点击这里回顾>>)为大家介绍了DevExpress Blazor v26.1中增强的智能粘贴和数据透视表功能,本文将继续介绍新版本中Grid 和 TreeList控件增强功能,希望能帮助到大家~欢迎点赞关注哦,不定期更新~

DevExpress新旧版本帮助文档下载可进QQ qun获取:169725316

Blazor TreeList

未绑定的列

DevExpress Blazor TreeList组件现在支持未绑定的列,这些列显示未存储在基础数据源中的值。使用未绑定的列来显示补充/计算数据,而不修改原始数据模型。

以下API允许用户使用数据填充未绑定的列:

Razor

XML 复制代码
<DxTreeList Data="TreeListData"
            UnboundColumnData="TreeList_UnboundColumnData" ... >
    <Columns>
        <DxTreeListDataColumn FieldName="AprilSales" />
        <DxTreeListDataColumn FieldName="MaySales" />
        <DxTreeListDataColumn FieldName="JuneSales" />
        <DxTreeListDataColumn FieldName="Q2Sales" Caption="Q2 Sales"
                              UnboundType="TreeListUnboundColumnType.Decimal"
                              UnboundExpression="[AprilSales] + [MaySales] + [JuneSales]" />
        <DxTreeListDataColumn FieldName="Q2YoYChange" Caption="Q2 YoY Change (%)"
                              UnboundType="TreeListUnboundColumnType.Decimal" />
    </Columns>
</DxTreeList>

@code {
    // ...
    void TreeList_UnboundColumnData(TreeListUnboundColumnDataEventArgs e) {
        if(e.FieldName == "Q2YoYChange") {
            var sales = ((SalesByRegion) e.DataItem);
            var currentValue = (decimal)e.GetRowValue("Q2Sales");
            var prevValue = sales.AprilSalesPrev + sales.MaySalesPrev + sales.JuneSalesPrev;
            e.Value = (currentValue - prevValue) / currentValue;
        }
    }
}

Blazor Data Editors(数据编辑器)

可调焦按钮

DevExpress Blazor数据编辑器包括用于命令按钮的新的可聚焦选项,一旦激活,按钮就包含在页面的选项卡序列中,用户可以使用键盘与它们交互。

Razor

XML 复制代码
<DxDateEdit @bind-Date="@DateTimeValue"
            ShowDropDownButton="false">
    <Buttons>
        <DxEditorButton IconCssClass="editor-icon editor-icon-chevron-left-small"
                        Tooltip="Previous Date"
                        Position="@EditorButtonPosition.Left"
                        Focusable="true"
                        Click="@(_ => OnChangeDayButtonClick(false))" />
        <DxEditorButton IconCssClass="editor-icon editor-icon-chevron-right-small"
                        Tooltip="Next Date"
                        Position="@EditorButtonPosition.Right"
                        Focusable="@true"
                        Click="@(_ => OnChangeDayButtonClick(true))" />
        <DxDateEditDropDownButton Focusable="true" />
    </Buttons>
</DxDateEdit>
键盘和鼠标滚轮交互选项

DevExpress官方添加了新的选项来控制用户是否可以使用箭头键和鼠标滚轮更改编辑器值:AllowUpDownArrowKeys和AllowMouseWheel,以下编辑器类支持这些新属性:

将AllowUpDownArrowKeys和AllowMouseWheels属性设置为false,以防止意外更改,并确保更可控的用户体验。

Razor

XML 复制代码
<DxSpinEdit @bind-Value="@NumericValue"
            AllowUpDownArrowKeys="false" />

<DxDateEdit @bind-Date="@DateTimeValue"
            Mask="@DateTimeMask.ShortDate"
            AllowUpDownArrowKeys="false"
            AllowMouseWheel="false" />

<DxGrid Data="@employees" EditMode="GridEditMode.EditRow">
    <Columns>
        @*...*@
        <DxGridDataColumn FieldName="HireDate">
            <EditSettings>
                <DxDateEditSettings Mask="@DateTimeMask.ShortDate" AllowUpDownArrowKeys="false" AllowMouseWheel="false" />
            </EditSettings>
        </DxGridDataColumn>
    </Columns>
</DxGrid>
API功能增强

官方向DxComboBoxSettings类添加了新属性(包含自动生成的组合框编辑器的设置):

  • KeyFieldName/KeyFieldNames --- 在比较项时,指定一个或多个用作标识符的字段。
  • DataLoadMode --- 指定组合框如何加载数据:Auto - 当浏览器加载网页时,组件缓存数据;OnDemand - 每当用户打开下拉窗口时,组件都会加载其数据。

UI/UX功能增强

列表编辑器 - 设计更新

官方更新了DevExpress Fluent主题的Blazor列表编辑器(列表框、组合框、标签框)的设计:

  • 项目字体大小和填充
  • 项目组样式
  • 禁用/选定项目颜色
  • 添加了列表项之间的间距
  • 圆角项目角
  • 删除了额外边框

List Box

ComboBox

TagBox

Clear Button - 背景色更新

官方更新了Blazor编辑器(Bootstrap和DevExpress经典主题)中使用的Clear按钮的背景色。

相关推荐
风月说与山鬼1 小时前
二、uni-app入口文件(main.js)
javascript·uni-app
mCell10 小时前
Lua 编程入门:从基础语法到元表
javascript·算法·lua
伟大的兔神10 小时前
我做了一个本地优先的 AI 图片工作台:Loomora v1.0.0 正式发布
前端·javascript·vue.js
rockey62711 小时前
C#脚本引擎之AScript与Flee对比
c#·.net·script·eval·动态脚本
fangzhanpeng16813 小时前
(前端)2.js变量作用域样例
开发语言·前端·javascript
码艺-Alimjan15 小时前
Vue项目源码备份最佳实践:无视node_modules,打包体积仅2MB
前端·javascript·vue.js
xixiaoyunya17 小时前
JavaScript 异步编程全解析:从回调地狱到 async/await 的演进之路
开发语言·javascript·ecmascript
张元清17 小时前
React useScrollLock Hook:为弹窗锁住页面滚动 (2026)
javascript·react.js
Sayai17 小时前
【无标题】ECharts 实现日志量异常检测:基线 ±Kσ 基带 + 灵敏度切换(Vue2 实战)
前端·javascript·echarts