代码之家  ›  专栏  ›  技术社区  ›  Daniel Revell

如何在更新列表项时对其设置版本注释

  •  0
  • Daniel Revell  · 技术社区  · 16 年前

    在浏览器中编辑每个版本时,都可以对其进行注释,在浏览器中查看项目版本时可以看到这一点。

    当我以编程方式更改SPListItem上的Fields值时,我希望为此更改设置注释。理想情况下,注释字符串将作为参数传递给splistem.update,但它没有任何参数。我也找不到SPListItem上的属性来设置此属性。

    如果我使用spfilecollection.add覆盖文档库中的文件,那么有一个参数可用于设置checkincomment,这正是我想要的,但在splist中找不到它。

    我要更新的是文档库中文档的元数据。如上所述,我可以在用较新版本的文档覆盖时添加版本注释,而不是在自己覆盖字段时添加。

    1 回复  |  直到 16 年前
        1
  •  4
  •   Preston Guillot    16 年前

    签入注释由spfile类控制,而不是splistem。spfile.checkin()和spfile.publish()都采用字符串参数来设置注释。您不能覆盖以前的签入注释(spfile的check in comment属性是只读的),因此在代码中,您需要执行如下操作

    SPFile myFile;
    //Retrieve File
    myFile.CheckOut();
    SPListItem fileItem = myFile.Item;
    Item["someField"] = "New Value";
    .
    .
    .
    fileItem.Update();
    myFile.CheckIn("My comments are here.");
    myFile.Update();