using System; using Microsoft.SharePoint; using Microsoft.SharePoint.WebControls; namespace testhome.Layouts1.testhome { public partial class ApplicationPage1 : LayoutsPageBase { protected void Page_Load(object sender, EventArgs e) { SPList objList = SPContext.Current.Web.Lists["Vtest"]; SPQuery objQuery = new SPQuery(); objQuery.Query = "<Where><Gt><FieldRef Name=\"ID\"/><Value Type=\"Counter\">0</Value></Gt></Where>"; SPListItemCollection objItemColl = objList.GetItems(objQuery); foreach (SPListItem objItem in objItemColl) { SPListItemVersionCollection objVerisionColl = objItem.Versions; int counter = 0; string strValue2 = null; //Above Line gets all versions of the ListItem. If it returns 1, that means nothing is modified. no version //for this item. if (objVerisionColl.Count > 1) { //Navigate to each version of the ListItem foreach (SPListItemVersion objVersion in objVerisionColl) { int versionID = objVersion.VersionId; //Returns incremental IDs starting from 512,1024,1536... for each version DateTime timeofcreation = objVersion.Created; //VersionLabel - Gets 1.0,2.0,3.0 as default versions for each iteration string strVersionLabel = objVersion.VersionLabel; SPListItem objLstItm = objVersion.ListItem; string strFirstName = Convert.ToString(objLstItm["VC1"]); string test = objLstItm.Versions[1][1].ToString(); SPFieldCollection col = objVersion.Fields; int countt = 0; for (int x = 0; x <= objVersion.Fields.Count; x++) { foreach (SPField ff2 in objVersion.Fields) { Console.WriteLine("{0}", ff2.InternalName); countt++; //here it gives me all content type but i only want the changed ones and it's value } } //foreach (SPField ff in objVersion.Fields) //{ // Console.WriteLine("{0}", ff.InternalName); //} //below here i get the value but for specific column but i don't want to write it in code cause may be next time another column is changed and not the one in my code if (counter == 0) { strValue2 = objLstItm.Versions.GetVersionFromLabel(strVersionLabel)["VC1"].ToString() + ","; } else { strValue2 += objLstItm.Versions.GetVersionFromLabel(strVersionLabel)["VC1"].ToString() + ","; } counter++; } } } } } }
Thursday, 24 January 2013
Get Specific list item Version in sharepoint 2010
Subscribe to:
Post Comments (Atom)
Very usefull! Thanks!
ReplyDelete