2011-01-08 2 views
0

필자는 sp 2010에서 C#을 사용하여 작은 응용 프로그램을 만들었습니다. 내가하고있는 일은 컬렉션에서 항목을 가져 오는 것과 특정 필드를 보는 것입니다. 문제는 내가 항목을 클릭 할 때입니다. 나) (감사SharePoint에서 현재 목록 항목 가져 오기

foreach (SPListItem myItem in myItemCollection) 

    { 
    if (myList.Fields.ContainsField("Title")) 
    { 
    EntreeListItemDetailNameValue l = lGrp.AddListItem<EntreeListItemDetailNameValue>(); 
    SPField myField1 = myList.Fields.GetField("Title"); 
    l.Name = myField1.Title; 
    try 
    { 
     l.Value = myField1.GetFieldValueAsText(myItem["Title"]); 


    } 
    catch 
    { 
     l.Value = ""; 
    } 

    } 
    if (myList.Fields.ContainsField("Priority")) 
    { 
    EntreeListItemDetailNameValue l2 = lGrp.AddListItem<EntreeListItemDetailNameValue>(); 
    SPField myField = myList.Fields.GetField("Priority"); 
    l2.Name = myField.Title; 

    try 
    { 
     l2.Value = myField.GetFieldValueAsText(myItem["Priority"]); 
    } 
    catch 
    { 
     l2.Value = ""; 
    } 
+0

가있는 gridview 또는 S에 바인딩 모음입니다 행을 클릭하면 필드 값이있는 팝업이 표시됩니다. – Colin

답변

0

당신은 GetItemById를 사용할 수 있습니다 ... 난, 아래에있는 내 코드를 사용자가 클릭되는 현재 항목의 세부 사항을 표시 할 수있는 방법은 현재 사용자에게 할당 된 모든 항목의 세부 사항을 보여줍니다 http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splistitemcollection.getitembyid.aspx

void list_Click(object sender, EventArgs e) { 
    int clickedid = 0; //get the id from the clicked item 
    ShowForm(); //show detail form 
    DataBind(clickedid); //databind detail form 
} 

void DataBind(int id) { 
    SPListItemCollection myItemCollection = showthing; //load the list items, query using SPQuery, or SPList.Items 
    SPListItem item = myItemCollection.GetItemById(id); 
    form.Title = item["Title"]; 
} 
관련 문제