Winforms 对于只读数据网格视图,数据绑定而不是在自己的代码中加载数据表是一种糟糕的做法吗?

Winforms 对于只读数据网格视图,数据绑定而不是在自己的代码中加载数据表是一种糟糕的做法吗?,winforms,data-binding,gridview,devexpress,Winforms,Data Binding,Gridview,Devexpress,我在这里使用的是DevExpress GridView,但我猜这个问题与更广泛的领域有关,至少在WinForms的数据驱动应用程序世界中是如此 目前,我通常在显示刚从数据库加载的数据时进行数据绑定,这也是我继承的代码库中的常见做法。但是,我常常无法使用格式字符串格式化(更改文本)绑定数据,因此我不得不隐藏格式不佳的列,添加具有类似名称的未绑定列,并使用隐藏列中的格式化数据动态填充它们(以前的程序员做得更糟,他经常在存储过程中格式化,啊!)我有一种烦人的感觉,也许这种方法太差劲了 因此,我在考虑另

我在这里使用的是DevExpress GridView,但我猜这个问题与更广泛的领域有关,至少在WinForms的数据驱动应用程序世界中是如此

目前,我通常在显示刚从数据库加载的数据时进行数据绑定,这也是我继承的代码库中的常见做法。但是,我常常无法使用格式字符串格式化(更改文本)绑定数据,因此我不得不隐藏格式不佳的列,添加具有类似名称的未绑定列,并使用隐藏列中的格式化数据动态填充它们(以前的程序员做得更糟,他经常在存储过程中格式化,啊!)我有一种烦人的感觉,也许这种方法太差劲了

因此,我在考虑另一种选择——假设我创建自己的FormattableGridView,特别是为了显示只读数据。所有列都将从数据表中动态解除绑定并填充,同时保留与数据表本身相同的列名。如果我想格式化某些列、某些行或以之字形格式n通过网格,我只是直接动态地进行,因为未绑定的网格可以像二维数组一样容易地处理

这听起来很不错,但显然是网格视图的数据绑定(其中大多数可能也是只读的)这是一件非常常见的事情。我发现它一直在网上被提及。那么,我上面描述的模式是否存在阻碍它传播的缺点,我不知道?或者,在这些情况下,数据绑定本身是一种不明智的模式,而我描述的确实是更好的方式

编辑:

好的,在部分回答我自己的问题时,进一步的研究发现DevExpress CustomColumnDisplayText事件显然是专门为数据绑定网格的无限制格式设计的。也许其他类似框架的gridview组件中也存在类似的事件。好的,也许这确实是正确的模式,尽管事件驱动处理此问题的方法感觉有点奇怪。

网格发布事件,该事件可用于格式化格式错误的值。我认为,这是此任务的最佳且最简单的解决方案