2016-09-21 12 views
0

CAML 쿼리를 통해 검색된 목록 항목 모음이 있습니다. 세 개의 late 항목 만 검색하도록 쿼리를 설정했습니다.목록 항목 검색 및 표시

항목 컬렉션에서 색인으로이 세 항목을 검색하여 자리 표시 자로 출력하려고하지만 현재 작동하지 않습니다. 내가 놓친 것이 있습니까? 두 번째 목록 항목을 얻기

string newsHeadlineItem1 = newsItemsCollection[0]["NewsHeadline"].ToString(); 
string newsDescriptionItem1 = newsItemsCollection[0]["NewsDescription"].ToString(); 

plhNewsHeadlineItem1.Controls.Add(new LiteralControl(newsHeadlineItem1)); 
plhNewsDescriptionItem1.Controls.Add(new LiteralControl(newsDescriptionItem1)); 

과에 표시하려고 :

CAML 쿼리 : 첫 번째 목록 항목을 얻기 및 장소 홀더를 사용하여 페이지에 표시하려고

string displayOnHomePage = "True"; 

SPQuery queryNewsItems = new SPQuery(); 

queryNewsItems.Query = @"<Where>" + 
         "<Neq>" + 
         "<FieldRef Name='DisplayOnHomePage'/>" + 
         "<Value Type='Boolean'>" + displayOnHomePage + 
         "</Value>" + 
         "</Neq>" + 
         "</Where>" + 
         "<OrderBy>" + 
         "<FieldRef Name='ImageCreateDate' Ascending ='False'/>" + 
         "</OrderBy>"; 

queryNewsItems.RowLimit = 3; 
SPListItemCollection newsItemsCollection = newsItems.GetItems(queryNewsItems); 

장소 홀더를 사용하는 페이지 :

string newsHeadlineItem2 = newsItemsCollection[1]["NewsHeadline"].ToString(); 
string newsDescriptionItem2 = newsItemsCollection[1]["NewsDescription"].ToString(); 

plhNewsHeadlineItem2.Controls.Add(new LiteralControl(newsHeadlineItem2)); 
plhNewsDescriptionItem2.Controls.Add(new LiteralControl(newsDescriptionItem2)); 

공명 나는 foreac을 사용하지 않습니다. h 루프를 사용하여 항목 컬렉션을 반복하면 어떤 자리 표시자를 표시할지 제어하고 싶습니다.

첫 번째 항목은 plhNewsHeadlineItem1 및 plhNewsDescriptionItem1 자리 표시 자로 출력됩니다.

두 번째 항목은 plhNewsHeadlineItem2 및 plhNewsDescriptionItem2 자리 표시 자로 출력됩니다.

마찬가지로 thrid 항목은 plhNewsHeadlineItem3 plhNewsDescriptionItem3 자리 표시 자로 출력됩니다.

CAML 쿼리에서 검색된 항목 컬렉션의 세 가지 목록 항목에 액세스하여 표시하는 올바른 방법입니까?

답변

0

실제로 작동하고 있는데 문제는 라이브러리/목록 (내가 템플릿을 사용하여 만든 원본)이 필드가 선택되지 않은 몇 가지 이유로 인해 발생했습니다. 나는 도서관/목록을 지우고 그것을 다시 만들었고 예상대로 모두 망설였다.