TIN VẮN:

Copy List trong Sharepoint sử dụng C# và ASP.NET

07/08/2019 10:59:22 AM         

Trong Sharepoint có nhiều cách để copy dữ liệu giữa 2 List như phương pháp Save List As template, copy dòng dữ liệu trực tiếp giữa hai List, sử dụng code C# trong ASP.NET, copy trực tiếp trong SQLSERVER…Với các List có dữ liệu lớn, chúng ta sử dụng code C trong ASP.NET để copy cũng là một giải pháp hợp lý và tối ưu.

 Ta tạo 1 hàm trog ASP.NET với C# như sau, có thể hàm trả về hoặc không

public void CopyList(string siteUrl, string ListSource, string ListDestination{
 
using (SPSite site = new SPSite(siteUrl))
{using (SPWeb web = site.OpenWeb()){
web.AllowUnsafeUpdates = true;
SPList sourceList = web.Lists.TryGetList(ListSource);
SPQuery query = new SPQuery();
query.Query = “Điều kiện ở đây nếu có”;
foreach (SPListItem sourceItem in sourceList.GetItems(query))
{
SPList destinationList = web.Lists.TryGetList(ListDestination);
if (destinationList != null)
{
SPListItem destItem = destinationList.Items.Add();
foreach (SPField field in sourceItem.Fields)
{
if (!field.ReadOnlyField && !field.Hidden && field.InternalName != “Attachments”)
{
if (destItem.Fields.ContainsField(field.InternalName))
{
destItem[field.InternalName] = sourceItem[field.InternalName];
}
}
}
//copy file attachment
foreach (string fileName in sourceItem.Attachments)
{
SPFile file = sourceItem.ParentList.ParentWeb.GetFile(sourceItem.Attachments.UrlPrefix + fileName);
byte[] imageData = file.OpenBinary();
destItem.Attachments.Add(fileName, imageData);
}
destItem.Update();
}
}
web.AllowUnsafeUpdates = false;
}
}
}
Add Hàm trên vào 1 webpart nào đó để chạy. Với những List có dữ liệu lớn ta thêm điều kiện lọc vào chuỗi query.Query = “Điều kiện ở đây nếu có” để lọc dữ liệu theo ý muốn.
Chung nhan Tin Nhiem Mang
Bản quyền ©2011 thuộc về Trung tâm Chuyển đổi số tỉnh Quảng Ngãi
Địa chỉ: 118 Hùng Vương, thành phố Quảng Ngãi, tỉnh Quảng Ngãi.
Điện thoại: Hỗ trợ chữ ký số: 0255 3828022  - Trung tâm Dữ liệu tỉnh: 02553 847768  - Hỗ trợ kỹ thuật: 0255 3 718 167 - Giám đốc: Di động: 0941.121.279 - Zalo: 0941.121.279
Email: trungtam-stttt@quangngai.gov.vn Website: nuian.vn
Số giấy phép: 02/GP-TTĐT cấp ngày 30/5/2018 của Sở Thông tin và Truyền thông Quảng Ngãi
 
THỐNG KÊ TRUY CẬP
  • 1244 Đang truy cập:
  • Tổng lượt: