You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Domino Designer中文件夹间文档拖拽功能实现求助

Domino文件夹间文档拖拽实现方法

以下是几个你可能遗漏的关键配置点,照着检查调整:

  • 大纲项配置要到位
    大纲里的目标文件夹项,得把文档链接类型设为文件夹,而且要关联到目标文件夹的别名(别用显示名称,别名才是Domino识别的关键)。另外,大纲项的打开方式选在当前框架集打开,不然拖拽时系统识别不出这是可接收的文件夹容器。

  • 文件夹和视图的拖拽权限要开
    不管是收件箱(Mail In类型)还是目标文件夹,打开设计后去高级标签页,勾选允许拖拽操作。同时还要确认文件夹对应的视图里,文档列表控件的启用拖拽属性已经打开(在控件的属性面板里找)。另外别忘检查目标文件夹的访问权限,确保当前用户能往里面加文档。

  • 添加拖拽事件的基础代码
    如果是自定义视图,得在视图的QueryDragDrop事件里加段代码,让Domino识别拖拽的文档:

Sub Querydragdrop(Source As Notesuiview, X As Long, Y As Long, _
  Draginfo As Variant, Allowed As Integer, Cancellation As Integer)
  ' 允许文档拖拽操作
  Allowed = True
End Sub

然后在目标文件夹的视图QueryDrop事件里,处理文档添加逻辑:

Sub Querydrop(Source As Notesuiview, X As Long, Y As Long, _
  Draginfo As Variant, Effect As Integer, Cancellation As Integer)
  Dim session As New NotesSession
  Dim db As NotesDatabase
  Dim doc As NotesDocument
  Dim folderAlias As String
  
  Set db = session.CurrentDatabase
  ' 获取当前视图关联的文件夹别名
  folderAlias = Source.View.Alias
  
  ForAll doc In Draginfo
    ' 将文档添加到目标文件夹,True表示保留原文件夹的副本
    Call doc.PutInFolder(folderAlias, True)
    ' 如果需要从原文件夹移除,解开下面注释
    ' Call doc.RemoveFromFolder("原收件箱的文件夹别名")
  End ForAll
End Sub
  • 框架集要符合标准结构
    你的大纲和文件夹视图所在的框架集,得是标准Domino框架集类型(比如和Library模板的LibraryFrameSet结构一致),自定义框架集容易导致拖拽事件传不过去。另外框架集里的视图区域,要在框架属性的高级标签里勾选可接收拖拽内容。

  • 直接复用Library模板的设计元素
    打开Domino自带的Library模板(dlibr.ntf),参考它的大纲和文件夹设计:

    • 查看大纲里每个文件夹项的属性,特别是文档链接和事件标签的设置。
    • 把模板里的拖拽处理脚本库(比如DragDropScriptLib)复制到你的数据库,直接复用里面的逻辑,省得自己写。

内容的提问来源于stack exchange,提问作者Mark Maden

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 02:10:27