如题, DevExpress的GridControl设置了列编辑控件为RichTextEdit后, RichTextEdit没有SelectedText方法,不能获取用户在单元格中选取的文本, 而MemoEdit和TextEdit都有此方法,如何解决此问题?
反射后GetValue解决的
1、RICHTEXTEDIT好象不是DEVEXPRESS的控件吧?Devexpress的叫RichEditControl。
2、假设是你写错了,那么第二个问题是,把这样一个控件放在GRIDCONTROL里面,实在是很诡异。
3、假设一切都没有问题的话,要获取用户在RichEditControl中选择的文本也是有办法的?但仔细看你的描述,
你要的是获取用户在单元格中选取的文件?你确定?RichEditControl作为列编辑控件,里面可是有可能出现图片的,相应的字段类型应该会是Binary之类的,而不可能是String类型。所以单元格应该是不可选取部份的,甚至于显示估计问题都有。
4、如果你是要在RichEditcontrol中选择一段文本,并获取这段文本,那还是有方法的。在RichEditControl的方法中找找就能找到。
感谢回复,抱歉,我可能说的不是很清楚, DevExpress新建列时是可以选择列的控件类型的, 也就是说ColumnEdit属性可以选RichTextEdit, 对应的类为RepositoryItemRichTextEdit, 但是此类不支持SelectedText, 这个并不是DevExpress中的RichEditcontrol, RichEditcontrol时单独的控件,希望可以复制出纯文本(过滤图片).
@harrell:
1、你的Dev版本是?
2、RepositoryItem其实就是包装了一层的对应控件。
3、你想在什么情况下取得文本数据,你的说明不清楚。
@爱编程的大叔: 版本为12.1, RichEditcontrol有Document.range方法可以获取选中的文本, RepositoryItemRichTextEdit编辑的时候就没有,这个是对RichTextEdit的包装,而不是RichEditcontrol, 我想在用户选择部分文本后就获取到用户选择的文本
@harrell:
1、用户选择文本,这是Selection_Change,不点任何按钮,也就是说这个Selection_Change事件是会一直发生的。
2、本身一开始就不认同在GRID中放RICHEDIT的做法,这是不合理的,通常有这个需要的话,单条记录可以构成一个FORM界面了,在GRID中嵌入RICHEDIT,要多怪异有多怪异。
@爱编程的大叔: 大叔,我也不想这样用的,有时候没有办法,现在问题解决了,反射后GetValue解决的,感谢回复.