2011-01-08 1 views
0

ive a fait une petite application en utilisant C# pour sp 2010, ce que je fais c'est obtenir des éléments d'une collection et afficher des champs spécifiques que je veux, le problème est quand je clique sur un élément me montre les détails de chaque élément affecté à l'utilisateur actuel, comment puis-je montrer que les détails de l'élément courant qui l'utilisateur clique, voici mon code ... merciSharePoint Obtient l'élément de la liste en cours depuis une collection

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

La collection est-elle liée à une vue Quelque chose où cliquer sur une rangée montrerait quelque chose comme un popup avec les valeurs de champ? – Colin

Répondre

0

Vous pouvez utiliser 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"]; 
} 
Questions connexes