Kissmint 发表于 2015-6-15 14:56:00

关于MultiRow上的GcComboBox

MultiRow上的GcComboBox(DataField绑定)如何实现,显示第二列(比如name)的内容,而数据校验处理,更新处理用第一列(比如No.)的内容?

jd6061 发表于 2015-6-15 16:47:00

MultiRow.getvalue(rowindex,cellindex) 可以么?

Alice 发表于 2015-6-15 17:42:00

回复 1楼Kissmint的帖子

感谢对该问题的反馈。
getvalue指的是获取单元格的值。
我不太理解你的意思,你是指建立映射关系,显示是数据源某列的文字,但存的是id么?
你可以设置TextSubItemIndex为需要实现的数据源的列的index,配合ValueSubItemIndex属性设置value。
可实现双绑定。

Kissmint 发表于 2015-6-23 09:27:00

谢谢,请问在上述情况下,如何在CellValidating事件中获得编辑中的value值?

Carl 发表于 2015-6-23 13:42:00

使用这个属性:CellValidatingEventArgs.FormattedValue

Kissmint 发表于 2015-6-23 13:45:00

回复 5楼Carl的帖子

不行啊,这样和CurrentCell.EditedFormattedValue 取得一样,都是显示的文本,而不是value!

iceman 发表于 2015-6-23 17:10:00

回复 6楼Kissmint的帖子

这个问题需要在CurrentCell.EditedFormattedValue获取到 文本 后,去GcComboBox 的数据中便利匹配获取value值。无法直接获取。

Kissmint 发表于 2015-6-24 10:08:00

回复 7楼iceman的帖子

嗯,我感觉也是!但是文本还有可能是重复的,郁闷!

dafo 发表于 2015-6-24 10:16:00

你可以考虑在EditingControlShowing事件中获取GcComboBox的EditingControl, 在这个Control上你可以拿到你想要的所有数据。

yinzhm 发表于 2015-6-24 16:51:00

以下方法可以尝试一下:
(不知道你用的是什么语言,我之前使用MutiRow时使用的VB.NET,仅供参考)
IfMe.MultiRow控件对象名.EditingControl isnot nothing then
    变量 = TryCast(Me.MultiRow控件对象名.EditingControl, GrapeCity.Win.MultiRow.该名称空间下对应的EditingControl类型).Value
End If

EditingControl类型 例如:
GrapeCity.Win.MultiRow.InputMan.GcNumberEditingControl
GrapeCity.Win.MultiRow.InputMan.GcTextBoxEditingControl
GrapeCity.Win.MultiRow.XXXEditingControl
页: [1] 2
查看完整版本: 关于MultiRow上的GcComboBox