2011-01-08 15 views
0

ive machte eine kleine App mit C# für SP 2010, was ich tue, ist das Abrufen von Elementen aus einer Sammlung und Anzeigen bestimmter Felder, die ich möchte, das Problem ist, wenn ich auf ein Element klicken zeigt mir die Details jedes Element an den aktuellen Benutzer zugeordnet ist, wie ich nur die Details des aktuellen Eintrags zeigen kann, die der Benutzer klickt, unter meinem Code ... dankSharePoint erhalten aktuelle Listenelement aus einer Sammlung

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

ist die Sammlung auf eine Gridview oder s gebunden omething, wo das Klicken auf eine Zeile etwas wie ein Popup mit den Feldwerten anzeigen würde? – Colin

Antwort

0

Sie könnten GetItemById() verwenden, 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"]; 
} 
Verwandte Themen