본문 바로가기

SharePoint/SharePoint 개발

Client Object Model - 데이터 불러오기

정말 오랜 만의 끄적거림입니다.....

이번 끄적거림은 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