Dev官网 RepositoryItemTimeSpanEdit
结果如下:
问题描述:
- 现在有一个TimeSpan 短时间
- 需要在表格中格式化成 d天hh时mm分
尝试了很多方法 都没成功 如:
- 多加一个字段专门用来显示格式化的时间
- 网格的DisplayFormat.FormatString属性
翻官方Demo 和 文档发现了 RepositoryItemTimeSpanEdit 类
把网格的ColumnEdit 设置为这个类的实例对象 调整对象的属性
Code:
// 找到要更改的 Column
var column = this.gridViewNode.Columns.ColumnByFieldName(nameof(ClassName.XXX));
if (column != null)
{
var editor = new RepositoryItemTimeSpanEdit();
// 获取或设置在编辑器未聚焦时是否仍使用掩码对显示值进行格式化。 就是在网格未编辑状态显示设置的格式
// false时 网格中的格式会是 d.hh:mm:ss
editor.Mask.UseMaskAsDisplayFormat = true;
// 获取或设置是否允许在时间间隔内编辑秒。
editor.AllowEditSeconds = false;
// 获取或设置掩码类型。
editor.Mask.MaskType = MaskType.DateTime;
// 掩码格式
editor.EditMask = @"d\天HH\时mm\分";
column.ColumnEdit = editor;
}