2011-01-08 16 views
0

iveは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

コレクションがグリッドビューにバインドされているかどうか行をクリックすると、フィールド値を含むポップアップが表示されます。 – 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"]; 
}