在SharePoint提供的托管应用程序中,我想在Gridview中显示带有元数据的SharePoint在线文档库文档。在Gridview中单击此文档名称时,我要下载文档。 如何在Grid View中显示SP Online文档库项目,以及如何使用CSOM代码下载文档。
当“自动生成”列为False时,无法将Listitemcollection绑定到gridview。认为存在错误标题和其他字段。
尝试将其绑定到数据表。但无法将文档名称设置为超级链接或可点击控件
protected void BtnSearch_Click(object sender, EventArgs e)
{
using (var ctx = TokenHelper.GetClientContextWithAccessToken(siteUri.ToString(), accessToken))
{
List<ObjectA> _listA = new List<ObjectA>();
Web oWebsite = ctx.Web;
ctx.Load(oWebsite);
ctx.ExecuteQuery();
ctx.Load(oWebsite.CurrentUser);
ctx.ExecuteQuery();
// To Get Site Tile
string strtitle = ctx.Web.Title;
// To Getcurrent logged user
string strlog = ctx.Web.CurrentUser.LoginName;
List list = oWebsite.Lists.GetByTitle("Sampledocuments"); //.GetById(new Guid("ebe2bc9e-4f04-46fb-9a41-5baf16c1da57"));
var q = new CamlQuery() { ViewXml = "<View><Query><Where><And><Eq><FieldRef Name='Account_x002d_Name' /><Value Type='Text'>data</Value></Eq><Eq><FieldRef Name='SalesForce_x002d_ID' /><Value Type='Text'>daat</Value></Eq></And></Where></Query></View>" };
Microsoft.SharePoint.Client.ListItemCollection items = list.GetItems(q);
// Microsoft.SharePoint.Client.ListItemCollection it = list.GetItems(q);
ctx.Load(list);
ctx.Load(items);
ctx.ExecuteQuery();
DataTable dt = new DataTable();
dt.Columns.Add("Item ID", typeof(int));
dt.Columns.Add("Item Title", typeof(string));
dt.Columns.Add("Account Name", typeof(string));
dt.Columns.Add("Sales Force ID", typeof(string));
dt.Columns.Add("URL", typeof(string));
dt.Columns.Add("FileRef", typeof(string));
dt.Columns.Add("FileDirRef", typeof(string));
foreach (Microsoft.SharePoint.Client.ListItem item in items)
{
DataRow dr = dt.NewRow();
dr["Item ID"] = item["ID"];
dr["Item Title"] = item["Title"] != null ? item["Title"].ToString() : "";
dr["Account Name"] = item["Account_x002d_Name"] != null ? item["Account_x002d_Name"].ToString() : "";
dr["Sales Force ID"] = item["SalesForce_x002d_ID"] != null ? item["SalesForce_x002d_ID"].ToString() : "";
dr["URL"] = item["FileLeafRef"] != null ? item["FileLeafRef"].ToString() : "";
dr["FileRef"] = item["FileRef"] != null ? item["FileRef"].ToString() : "";
dr["FileDirRef"] = item["FileDirRef"] != null ? item["FileDirRef"].ToString() : "";
// FileLeafRef FileRef FileDirRef
dt.Rows.Add(dr);
}
GV.DataSource = dt;
GV.DataBind();