创建具有可变列数的网格视图

本文关键字:网格 视图 创建 | 更新日期: 2023-09-27 17:56:56

我必须根据一段时间生成一个带有列数的网格视图然后将大约 10 行数据绑定到网格

有时,我需要在一年中查看每一天 -> 365 列

或一个月内的每一天 -> 30,31 列

或一周内每小时 -> 168 列

或者有时从 1 月 15 日到 3 月 23 日,我必须计算天数。

我的想法是根据需要创建尽可能多的对象类型来处理每种可能的情况,当被问到时,我会调用正确的类型。

然而,这似乎很麻烦,因为创建一个具有 365 个属性的对象,然后创建一个具有 168 个属性的对象,等等......似乎没有优化。

我应该如何实现?

创建具有可变列数的网格视图

生成列应该很容易。创建类可以在运行时使用 ICustomTypeProvider 接口动态完成。

实质上,您可以使用所需的任何属性创建动态类型。与使用 IL 生成类型不同,还可以随时动态添加属性。