SharePoint JS API 文件庫操作
阿新 • • 發佈:2019-02-08
環境:Windows Server 2012,SharePoint 2013
客戶端物件操作文件庫,先介紹怎麼讀取指定資料夾下的文件:
讀取文件庫Documents下的資料夾A裡面的檔案,地址如下,/oa/TestWeb/Lists/Documents 是文件庫的路徑,/Test/A 是資料夾路徑
/oa/TestWeb/Lists/Documents/Test/A
讀取文件庫指定目錄下的檔案,程式碼如下:
function GetDataByFolder() {
try {
var clientContext = new SP.ClientContext();
var targetList = clientContext.get_web().get_lists().getByTitle("文件庫" );
var query = new SP.CamlQuery();
//把要讀取的資料夾路徑寫入查詢物件CamlQuery
query.set_folderServerRelativeUrl("/oa/TestWeb/Lists/Documents/Test/A");
//如果有必要的話,加上查詢條件
query.set_viewXml("<View><ViewFields><FieldRef Name='ID'/><FieldRef Name='AAA'/><FieldRef Name='BBB'/><FieldRef Name='CCC'/></ViewFields><Query><OrderBy><FieldRef Name='OrderBy' Ascending='FALSE'/></OrderBy></Query></View>" );
var listItems = targetList.getItems(query);
clientContext.load(listItems);
clientContext.executeQueryAsync(Function.createDelegate(this, function () {
var listEnumerator = listItems.getEnumerator();
var Array = [];
while (listEnumerator.moveNext()) {
var item = listEnumerator.get_current();
Array.push(new objData(item.get_id(), item.get_item('AAA'), item.get_item('BBB'),
item.get_item('CCC')));
}
}), Function.createDelegate(this, function (sender, args) {
}));
}
catch (ex) { }
}
主要就是這個函式,把資料夾路徑寫入查詢物件
query.set_folderServerRelativeUrl("/oa/TestWeb/Lists/Documents/Test/A");
儲存資料,這個沒什麼好說的
function validtionData() {
var context = new SP.ClientContext.get_current();
var web = context.get_web();
var list = web.get_lists().getByTitle('文件庫');
$("#repeaterListTable tbody tr").each(function () {
var i = $(this).attr("i");
var itemID = $("#hidItemID" + i).val();
var orderBy = $("#txtCCC" + i).val();
if ($(this).find("input[name=subBox]")[0].checked && !isNaN(itemID) && !isNaN(orderBy)) {
var product = list.getItemById(parseInt(itemID));
product.set_item('CCC', orderBy);
product.update();
}
});
context.executeQueryAsync(Function.createDelegate(this, function () {
alert('提交成功.');
location.reload();
}),
Function.createDelegate(this, function (sender, args) {
alert('failed. Message:' + args.get_message());
}));
}