정말 오랜 만의 끄적거림입니다.....
이번 끄적거림은 Client OM 으로 데이터 불러 오기 입니다.
WinForm 을 사용하여 SharePoint Data를 불러 와 보겠습니다.
우선 Microsoft.SharePoint.Client.dll , Microsoft.SharePoint.Client.Runtime.dll 을 References 에 추가 해줍니다.
private void CilentOMData()
{
string whereCondition = string.Empty;
string orderBy = string.Empty;
string viewFields = string.Empty;
using (Microsoft.SharePoint.Client.ClientContext ClientCon = new Microsoft.SharePoint.Client.ClientContext("http://mysite/"))
{
Microsoft.SharePoint.Client.Web site = ClientCon.Web;
//SharePoint 서버가 따로 있기 때문에 NetworkCredential 을 이용하여 인증 합니다.
NetworkCredential Credential = new NetworkCredential("spsvc", "P@ssw0rd", "jjh.com");
ClientCon.Credentials = Credential;
Microsoft.SharePoint.Client.List list = site.Lists.GetByTitle("test");
ClientCon.Load(list);
ClientCon.ExecuteQuery();
Microsoft.SharePoint.Client.CamlQuery cmQuery = new Microsoft.SharePoint.Client.CamlQuery();
//Content 필드가 빈 값이 아닌 것 만을 불러 옵니다.
whereCondition = CAML.Neq(CAML.FieldRef("Content"), CAML.Value(""));
whereCondition = CAML.Where(whereCondition);
orderBy = CAML.OrderBy(CAML.FieldRef("Created", CAML.SortType.Ascending));
viewFields = CAML.ViewFields(CAML.FieldRef("Title"), CAML.FieldRef("Content"));
//서버 모델과 다르게 XML을 모두 그려 줘야 한다는 것입니다.
//<View>
//<Orderby></Orderby>
//<Query></Query>
//<ViewFields></ViewFields>
//<RowLimit></RowLimit>
//</View>
cmQuery.ViewXml = "<View>" + orderBy + "<Query>" + whereCondition + "</Query>" + viewFields + "<RowLimit>" + list.ItemCount + "</RowLimit></View>";
Microsoft.SharePoint.Client.ListItemCollection items = list.GetItems(cmQuery);
ClientCon.Load(items);
ClientCon.ExecuteQuery();
DataTable dt = new DataTable();
dt.Columns.Add("제목");
dt.Columns.Add("내용");
foreach (Microsoft.SharePoint.Client.ListItem item in items)
{
DataRow dr = dt.NewRow();
dr["제목"] = item["Title"].ToString();
dr["내용"] = RemoveHTML(item["Content"].ToString());
dt.Rows.Add(dr);
}
dataGridView1.DataSource = dt;
}
}
'SharePoint > SharePoint 개발' 카테고리의 다른 글
Client Object Model - 데이터 저장하기 (0) | 2012.07.25 |
---|---|
SharePoint 폴더 형식 만들기 (0) | 2012.07.11 |
Client Object Model - 정의 (0) | 2012.05.24 |
SharePoint 데이터 삭제 (0) | 2012.05.18 |
SharePoint 데이터 저장 (0) | 2012.05.16 |