Я хочу отображать файлы из папки sharepoint, которые были изменены по имени пользователя. Пожалуйста, помогите мне в этом. Также подскажите, как показать этот файл с сортировкой по дате и времени.
я пытался использовать имя_документа.Добавить(файл.ModifiedBy); свойство, но оно недоступно, вот код:
public List<string> getFiles(ClientContext CContext,string INVOICENO)
{
List list = CContext.Web.Lists.GetByTitle("Documents");
CContext.Load(list);
CContext.Load(list.RootFolder);
CContext.Load(list.RootFolder.Folders);
CContext.Load(list.RootFolder.Files);
CContext.ExecuteQuery();
FolderCollection fcol = list.RootFolder.Folders;
List<string> docName = new List<string>();
foreach (Folder f in fcol)
{
if (INVOICENO==null)
{
INVOICENO = "";
}
string foldername = INVOICENO.ToString();
if (f.Name == foldername)
{
CContext.Load(f.Files);
CContext.ExecuteQuery();
FileCollection fileCol = f.Files;
foreach (File file in fileCol)
{
docName.Add(file.Name);
docName.Add(file.TimeLastModified.ToShortDateString());
}
}
}
return docName.ToList();
}
имеют строки со значениями, такими как: John @ 10-03-2020 также модифицированоBy:username.
Согласно моим тестам и исследованиям, вы можете использовать CAML-запрос для отображения файлов, измененных именем пользователя из папки SharePoint.
Вот пример, на который вы можете сослаться: (отсортировано по времени модификации в порядке возрастания)
static void Main(string[] args)
{
var clientContext = GetonlineContext();
Web site = clientContext.Web;
List list = clientContext.Web.Lists.GetByTitle("Library Name");
CamlQuery query = new CamlQuery();
query.ViewXml = "<View><Query><Where><Eq><FieldRef Name='Editor' /><Value Type='User'>UserName</Value></Eq></Where><OrderBy><FieldRef Name='Modified' Ascending='True' /></OrderBy></Query><ViewFields /><QueryOptions /></View>";
ListItemCollection collListItem = list.GetItems(query);
clientContext.Load(collListItem);
clientContext.ExecuteQuery();
foreach (ListItem item in collListItem)
{
Debug.WriteLine("Name:"+item["FileLeafRef"]+"\n"+"Modified"+item["Modified"]);
}
clientContext.ExecuteQuery();
}
Я проверяю, была ли проблема решена. Если у вас есть какие-либо вопросы или прогресс, вы можете связаться со мной вовремя.
Какой результат вы ожидаете? Вы хотите изменить
docName
, чтобы иметь строки со значениями, такими как:John @ 10-03-2020, 23:59:59 UTC
?