DCSoft.Writer编辑器实现弹出自定义窗口进行扩展检索输入

(该文章仅适合使用DCSoft.Writer的伙伴参考)

目前用DCSoft.Writer做电子病历编辑器,遇到个问题,用知识库控件时,加载数据比较慢,自带的检索功能也比较简单

,原本其他同事也遇到这个问题,没有能解决,现在客户又提这个问题,避无可避,遂进行改造

<Description("查询下拉列表项目事件")>
Public Event QueryListItems As QueryListItemsEventHandler

根据官方文档,找到查询下拉列表事件,尝试修改参数属性,跳过自带检索控件。成功

args.Cancel = True
4.9.1.9.QueryListItems事件
该事件使用的委托类型的签名为:
delegate DCSoft.Writer.WriterEventHandler(
        object sender , 
        DCSoft.Writer.WriterEventArgs args )
编辑器在展开输入域的下拉列表前填充下拉列表时触发该事件。应用程序可以响应该事件来提供输入域下拉列表的内容。
该事件第一个参数为触发事件的编辑器控件,第二个为事件参数。应用程序可以使用该事件参数的 Element属性值获得要填充下拉列表内容的文档输入域元素对象。

之后就是用我们的窗体获取用户选择的值,修改输入域的内容,尝试自带的“InsertXml”命令返回失败,“InsertString”命令成功,

这时候想到还会有需要先清除输入域的操作,查文档暂时没找到清除输入域内容的命令,转换思路,输入域应该可以直接设置值,调试模式下,直接看参数是否有属性代表用户输入值,找到这个属性

args.Element.Text = "InputString";

至此解决问题。

能解决问题的前提是官方提供了合适的接口,赞一个

 

posted @ 2020-12-04 16:34  蒲公英C  阅读(689)  评论(0编辑  收藏  举报