【发布时间】:2017-03-22 17:53:20
【问题描述】:
主题说明了一切。我的 GUI 基于 DataTable,布局如下:
(current - 1, gray) label 1/4000 label ABC
[ Navigate Previous button ]
(current, black) label 2/4000 label DEF
[ Navigate Next button ]
(current + 1, gray) label 3/4000 label GHI
DEF 由 currName.DataBindings.Add ("Text", mybindingsource, "cname"); 处理,但 ABC 和 GHI 是否可以使用这种方法绑定?
目前我的解决方法是在每次调用 mybindingsource_CurrentChanged 事件时手动设置 ABC 和 GHI 标签,但这似乎低于标准,因为它是如此手动,我失去了 DataBindings.Add 为您提供的自动格式化和 DBNull 处理免费。
我应该怎么做?
(是的,我知道 DataRepeater,我确实在其他表单上使用它,但它并不真正适合这种表单,原因是这里太长了,与问题无关.)
【问题讨论】:
-
DataBindings 可以有事件:Format 和 Parse。
-
我相信您当前的解决方案很好,但是如果您想知道如何使用数据绑定来解决问题,作为一种选择,您可以使用不同的
BindingSource组件来绑定控件,然后在主绑定源的PositionChanged事件中,根据主绑定源的位置设置它们的Position。
标签: c# winforms data-binding