Syncfusion Blazor Datagrid 中的复合键

问题描述 投票:0回答:1

我需要有关在 Blazor Datagrid 的 Syncfusion 上实现复合键的建议。它不允许复合键,并且将其添加为功能的票证几年来一直没有动静。

这是使用 ID 和有效起始日期的复合键的 TimeUnit 类:

    public class TimeUnit
    {
        public Int16 timeUnitID { get; set; }
        public DateTime validFrom { get; set; }
        public DateTime? validTo { get; set; }
        public string description { get; set; }
        public Nullable<Int16> days { get; set; }
        public Common.SpecialProcessing specialProcessing { get; set; }
        public DateTime dateLastActivity { get; set; }
    }

这是定义键的 dbContext 的摘录

            builder.Entity<TimeUnit>().HasKey(table => new
            {
                table.timeUnitID,
                table.validFrom
            });

该格式通过 Windows Froms、WPF 和使用 PrimeNG 的 Angular 经受住了时间的考验。但不适用于 Blazor Datagrid 的 Syncfusion。

我正在考虑添加类似的内容

[Not Mapped]
public Int16 timeUnitID { get; set; }

到类并在获取后用连续整数填充它。我可以将它作为 Syncfusion Blazor Datagrid 的牺牲钥匙。

TimeUnit ID 的属性在不同时间点可能不同 - 这适用于我的许多定义,因此需要保留此密钥格式。

在采用我在此概述的方法之前,我正在寻求有关解决方法的建议。

c# datagrid blazor syncfusion
1个回答
0
投票

目前我们不支持 Syncfusion Blazor DataGrid 组件中的复合键。但根据您的更新,我们怀疑您希望禁止编辑或添加两列(timeUnitID 和 validFrom),因为它们是从数据库自动生成的。如果是,建议您通过将 timeUnitID 属性定义为 Grid 组件中的 Key (IsPrimaryKey) 并将 IsIdentity 属性定义为这两个属性(timeUnitID 和 validFrom)来实现您的要求。将网格列定义为 IsIdentity 将使这些属性在网格中编辑和添加记录时禁用,并且在保存到数据库时可以自动生成值。

请参阅我们的 UG 和 API 文档供您参考。

https://blazor.syncfusion.com/documentation/datagrid/editing - 注释部分。 https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Grids.GridColumn.html#Syncfusion_Blazor_Grids_GridColumn_IsIdentity https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Grids.GridColumn.html#Syncfusion_Blazor_Grids_GridColumn_IsPrimaryKey

如果您有任何疑问,请联系我们。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.