Sharepoint List Calculation

I would like to set an End Date in my sharepoint list to automatically match the start date.
If i choose 5/28 as the start date, the End Date should be 5/28
How can i do that via a calculated value?

1.) Set your End Date column to be a calculated field
2.) In the Formula field that comes up when you set End Date to a calculated field, type =[Start Date] (assuming Start Date is the name of your start date field)

Similar Messages

  • Design advice for vertical list calculations

    I'm extending a product management life cycle sharpoint 365 site,
    With purchase orders, magazine store, production targets (date based) and sold dates.
    So that in our production environment we can see how much is stored, how much can be sold, and what we need to buy in etc.
    The thing i'm a bit troubled about that sharepoint lists are not Excel, but this has to be done with Sharepoint lists.
    They prefer not to have edits directly in the aspX code, but editing workflows in Sharepoint designer is OK
    In excel one could easily add a cell formula with the content of Sum the value in the row left of me and add it to the value of myself one row earlier (like B2 contained  = A2+B1 ); and then copy that formula to the whole B column
    The nice thing with Excel is that when you change some value in A, like A2 = 10 and and later A5=10 then B7 would be 20
    Changing later a value like A3 =4 would recalculate quickly and re- totals the B column.
    Sharepoint Lists, calculated fields work only horizontally, so to do some vertical actions one needs a workflow, and do some lookup based upon (calculated previous) ID field, ea ID -1. Or stepp through to All ID's till current. What borders me a bit, is that
    my list will grow large at some point. So stepping through all ID's to sum them till current Item seams 'slow' to me, on the other hand if i only check the previous version then the whole column (B) wouldnt be recalculated, if someone changed an older entry.
    Extremly simplified i have a single list with the columns below (where stored act as my B column).
    bought | stored | sold
    0 | 5 | 0
    2 | 5 | 0  (raw products need to be manufactured before stored so they're added 1 by 1 later).
    0 | 6 | 0
    0 | 7 | 0
    0 | 4 | 3 (but when sold we can subtract directly from storage)
    Ofcourse i need some horizontal calculations because i need to track as well if there has been bought enough for production. But i wonder what would be Wise to do, base thing on current ID and ID minus 1, or to walk through all items by work flow (recalculate
    whole list), or like with changes; recalculate from current changed till the end  (not sure how to detect end yet.. but well something like that).
    I just wonder what would be wise here, and the best direction for this.
    The table i showed is a  extreme simplified, in fact also some other tables and workflows will be the feeders of the data.
    Its just that the whole thing makes me a bit worry and wonder what would be best, and maybe i oversee something maybe there are other ways for vertical calculations over lists.

    After lots of thinking, and seeing how slow office 365 SharePoint reacted upon my list workflows.
    I've decided to use a "site variables list", in which I store variables as rows and their value in a columns.
    And I refer to them by ID (or one could use another indexed unique value).
    It's maybe not an exact calculation of the whole thing (build around several lists) but everything is a lot faster then stepping trough each item in a huge list. And it also allows for a bit more easy tweaking of these "vertical" calculations.
    If for some reason those calculations would need adjustments (by change of management definitions), I have easy access to those variables to adjust them.
    On a side note, when I use those variables, it turned out it worked a bit better to create in the workflow local variables, then do the calculation, and put it in the right table you want those numbers to appear in. As compared to directly referring to the
    total. It takes just 5 sec or so to update. With this method size of the lists have no almost no impact on the speed of the workflow now.

  • Calculated fields in Sharepoint list view

    Hi,
    I have to add a calculated field with formula as
    if the difference between 2 date fields is 0 then i have to add todays date-modifed date.
    how to achieve this in sharepoint list view/column ?
    Aruna

    Hi Aruna,
    SharePoint doesn't allow you to use the[Today] function
    in a calculated column, but there are other work around for this.Please find below link for this.
    http://abstractspaces.wordpress.com/2008/05/19/use-today-and-me-in-calculated-column/
    Regards
    Soni K

  • SharePoint Designer 2010 Error occurs when accessing Edit Form: "The server returned a non-specific error when trying to get data from the data source ..." This occurs when using "" in a calculated column in a SharePoint List

    I created a calculated column "Expiration Date" in SharePoint 2010 with formula, =IF([Contingent Hire]=TRUE,(Created+90),(IF([Contingent Hire]=FALSE," ")))
    This works in the SharePoint list but when I go to edit the Edit Form in Designer. I get the error specified in the title of this post. I'm trying to make it so the Expiration Date is blank when another column, "Contingent Hire" (a YES/No
    column) is FALSE.
    The Edit Form is essentially a DataViewWebpart. If I remove the " ", like so, "(IF([Contingent Hire]=FALSE,))" from the calc column, the error goes away; however, the Expiration Date field does not
    remain blank like I want it to.
    Does anyone have any suggestions? (Below is the error generated when I open Designer and then try to open the Edit form for the corresponding list containing the calc column)
    JackSki123

    Hi Jack,
    Could you provide a screenshot about this issue?
    As Dimitri suggested, you can install the update for your SharePoint Designer and check again.
    And you can also check if you can display "NA" instead of " " in your calculated column per the following post.
    http://rajeshspillai.blogspot.in/2012/03/server-returned-non-specific-error-when.html
    Thanks
    Daniel Yang
    TechNet Community Support

  • Report workload by calculating how many versions of SharePoint list items created in a certain time period

    I have a total of 66 SharePoint 2010 lists - yes, 66! - each lists contains between 1500 and 3200 list items.  My employees update these various list items throughout their workday.  Each update to a list item creates a new version of the list
    item.  On average each list item will have anywhere from 5 to 10 versions before it is done.  I need to create a report that tells me how many list items they've updated in a certain time frame.  I have come close but still cannot arrive at
    the data I'm looking for. 
    This is what I have so far:
    I've created a report using SQL Report Builder 2008 v3 where I've filtered it to show only items MODIFIED between, for example, Feb1 and Feb28.  Of those records, I want the report to tell me how many versions were created during that time
    frame.  The result is one list item with 5 total versions.  Versions 1.0, 2.0, & 3.0 were created on 12/12/14.  The last two versions, 4.0 and 5.0, were created on 2/24/15.  Therefore, the answer I'm looking for is 2 because they
    created 2 versions between Feb1 and Feb28.
    However I get the following results using these queries:
    If I do a =Sum(Fields!owshiddenversion.Value) in the expression field I get the total versions which is 5
    If I do a =Count(Fields!owshiddenversion.Value) in the expression field I get the instance which is 1
    Is there a way to count ONLY the number of versions created in a time period?  Is there another hidden field in SharePoint that I can use in the expression that will give me results I'm looking for?

    Hi Rafael70,
    Per my understanding that you have already get all the need fields and informaiton of the updated version of list items and now you want to calculate how many versions of SharePoint list items created in a certain time period, you can't get desired result
    using sum and count function, right?
    I have tried to tested on my local environment but because I am not clear what is value in the field "owshiddenversion", I assumed you have two datatype parameters (StartDate and EndDate) to help filter the report in a certain time period.
    Generally, if you have add the filter correctly, it will filter the correct number's updated version in this time period, I would like you to provide details information as below to help better analysis the requirements:
    Could you please provide sample data of the table.
    Please provide snapshot of the report structure you have currently designed.
    Please try to provide all the expression you have used.
    If you still have any problem, please feel free to ask.
    Regards,
    Vicky Liu
    Vicky Liu
    TechNet Community Support

  • How to auto populate a column/SharePoint list with Current Date?

    I have a SharePoint list and I created a column called ‘CurrDate’. 
    I need this column to;
     Display the current      date,
    Auto populate all rows with the current date in the      SharePoint list
    Dynamically update with the current date
    I first tried creating the column using the default SharePoint interface Date Time but it’s not doing any of the steps listed above:
    I even tried entering =[Today] in the Calculated Value field. 
    Still nothing…
    So, I’m sure you will toss out a code snippet to make this work, which is great. 
    However, I’m a total noob with SPD, where the heck do I insert this snippet?
    Always in need of help.

    Hi ,
    I understand that you want to add a column  to a list to hold current date. Here is a workaround:
    Add a single line of text column to the list. Name the list as Today.
    Add a calculated column to the list. Use the [Today] as the formula. Set the calculated column to be Date and Time type.
    Delete the Today column from the list.
    Thanks,
    Entan Ming
    TechNet Subscriber Support in forum
    If you have any feedback on our support, please [email protected]
    Entan Ming
    TechNet Community Support

  • Using InfoPath to make a form that filters multiple rows alphabetically into their according SharePoint Lists.

    Hello,
    I would like to create a form in InfoPath that looks similar to something you would see in excel, by that mean that I am able to enter multiple lines of data. After I submit the form, the data will be sorted/filtered by the first letter of the brand name
    into their appropriate list in SharePoint.
    JBL (InfoPath Form) -> (Sharepoint List) "J"
    Bose (InfoPath Form) -> (SharePoint List) "B"
    Lexicon (InfoPath Form) -> (SharePoint List) "L"
    Etc...
    I was wondering how I would achieve this? Workflow?
    Thanks in advance,
    Luke

    1. kudos on having JBL be both the first record of sample data, and also the initials of all three records :)
    2. within SP, you can create a calculated column for the first character in the string (LEFT(col,1))... you may need to promote the field from IP into the list.
    Scott Brickey
    MCTS, MCPD, MCITP
    www.sbrickey.com
    Strategic Data Systems - for all your SharePoint needs

  • Using Sharepoint List Columns to create a simple trend chart

    Hello,
    I am trying to use a single sharepoint list fields with as my data to create a chart.
    I have only two columns I want to create the chart with: The date and time picker
    column where the user picked a date and time and it is formatted accordingly and the Item ID.
    I just want show how many items were created in each month and year. For e.g if there were 3 items created in between Jan 1st- 31st, 2014 then I want it to show a count of 3 for the month of Jan.
    I used the MonthName and string conversion for the X axis and it seems to be showing the month and year, but I cannot get the items that were created to show up for each month.
    Any guidance is welcome!
    I would like to create a trend chart that shows how many

    Hi PinkPowerRanger,
    Per my understanding that you have two fields in the table "Date and Time picker" which is Date/time type and another is "Item ID", you need to get the Month from the Date field to display in the X-axis and count(Item ID) related to each
    month to display in the Y-Axis, right?
    I have tested on my local environment and can do this by create two calculated fields to get the month and year values from the Date/Time field.
    Details information below for your reference:
    Right click the main dataset to select the "Add Calculated field", specify an name of the new calculated field and add the expression in the field source as below:
    Year:    =Year(Fields!Date.Value)
    Month:  =MonthName(Month(Fields!Date.Value))
    Add the three field in the Chart as below and remember in the Value area you have got the Count(ItemID) but not SUM(ItemID):
    Preview you will got the chart like below:
    If you still have any problem, please feel free to ask.
    Regards
    Vicky Liu
    Vicky Liu
    TechNet Community Support

  • Displaying a SharePoint List in a ListView Control with Grouping by Date

    Dear All
    I have created a ListView to display items from a SharePoint list:
    <asp:ListView ID="UpAndComingEventsLV" runat="server">
    <LayoutTemplate>
    <ul>
    <li id="itemPlaceholder" runat="server" />
    </ul>
    </LayoutTemplate>
    <ItemTemplate>
    <li id="Li1" runat="server">
    <asp:Literal ID="CurrentDate" runat="server" />
    <%#Eval("Title")%> <%#Eval("Event_x0020_Category")%> <%#Eval("EventDate", "{0:HH:mm}")%>
    </li>
    </ItemTemplate>
    </asp:ListView>
    To perform the binding and then display the date I'm doing the following:
    Using oSiteCollection As New SPSite(_ListPath)
    Using web As SPWeb = oSiteCollection.OpenWeb()
    List = web.GetList(_ListPath)
    End Using
    End Using
    Dim Query As New SPQuery
    Query.Query = "<Where><And><Eq><FieldRef Name='Status' /><Value Type='Choice'>Approved</Value></Eq><Geq><FieldRef Name='EventDate' /><Value Type='DateTime'><Today Offset='4' /></Value></Geq></And></Where><OrderBy><FieldRef Name='EventDate' /></OrderBy>"
    'Query.RowLimit = 1
    Query.ViewFields = "<FieldRef Name='Event_x0020_Category' /><FieldRef Name='Title' /><FieldRef Name='EventDate' /></ViewFields>"
    Dim ItemColl As SPListItemCollection = List.GetItems(Query)
    UpAndComingEventsLV.DataSource = ItemColl.GetDataTable
    UpAndComingEventsLV.DataBind()
    dfgdfgfg
    I would like to group my events by date though, rather than display the date against each row. To make things even more complicated, I would like to use friendly names like Today, Tomorrow, Monday, Tuesday instead of dates:
    TODAY
    Event number one
    Event number two
    Event number three
    TOMORROW
    Event number 4
    Event number 5
    MONDAY
    Event number 6
    Event number 7
    At the moment, I've created a ItemDataBound event on the ListView control and I have been able to display the Today, Tomorrow, Monday etc bit but I can't figure out the best way to perform the grouping. Incidentally, I only want to group on the date not
    on time:
    Private Sub UpAndComingEventsLV_ItemDataBound(sender As Object, e As Web.UI.WebControls.ListViewItemEventArgs) Handles UpAndComingEventsLV.ItemDataBound
    If e.Item.ItemType = Web.UI.WebControls.ListViewItemType.DataItem Then
    'Retrieve data item
    Dim DataItem As ListViewDataItem = DirectCast(e.Item, ListViewDataItem)
    Dim RowView As DataRowView = DirectCast(DataItem.DataItem, DataRowView)
    Dim EventDate As DateTime = RowView("EventDate")
    'Get literal control
    Dim CurrentDate As Literal = e.Item.FindControl("CurrentDate")
    'Display friendly date
    If Not IsNothing(CurrentDate) Then
    Select Case EventDate.Date
    Case Is = Now.Date
    CurrentDate.Text = "Today"
    Case Is = Now.Date.AddDays(1)
    CurrentDate.Text = "Tomorrow"
    Case Is = Now.Date.AddDays(2)
    CurrentDate.Text = Now.Date.AddDays(2).DayOfWeek.ToString
    Case Is = Now.Date.AddDays(3)
    CurrentDate.Text = Now.Date.AddDays(3).DayOfWeek.ToString
    Case Is = Now.Date.AddDays(4)
    CurrentDate.Text = Now.Date.AddDays(4).DayOfWeek.ToString
    Case Is = Now.Date.AddDays(5)
    CurrentDate.Text = Now.Date.AddDays(5).DayOfWeek.ToString
    Case Is = Now.Date.AddDays(6)
    CurrentDate.Text = Now.Date.AddDays(6).DayOfWeek.ToString
    End Select
    Else
    CurrentDate.Text = "-"
    End If
    End If
    End Sub
    Please could you help me understand the best way to perform the grouping by date?
    Any help or advice is greatly appreciated!
    Many thanks
    Daniel

    When I've done this in the past I've always used a calculated field that translated the days into the groupings I wanted.  You couldn't do quite the groupings that you list above, but it would give you categories to group on.  You could then
    apply the groupings in the base view.  Then you could use the Row Databound event to change the labels on the Groupings at runtime to the ones you want to use.
    Paul Stork SharePoint Server MVP
    Principal Architect: Blue Chip Consulting Group
    Blog: http://dontpapanic.com/blog
    Twitter: Follow @pstork
    Please remember to mark your question as "answered" if this solves your problem.

  • Powershell Script to Enable and Disable SharePoint list versioning

    Hi,
    We have a Sharepoint list with a date and time field named 'Today' which we update overnight
    via PowerShell script to give the current date and this recalculates other calculated fields
    in the list.
    All is fine but we have versioning enabled on the list and so we get a new version created everyday.
    Is there a way to disable the versioning prior to running the update and then re-enable
    after?
    This is the script
    Add-PSSnapin Microsoft.SharePoint.PowerShell
    Start-SPAssignment -Global
    $SPWeb = Get-SPWeb "<SharePointSiteUrl>"
    $List = $SPWeb.Lists["ListName"]
    $Items = $List.Items
    foreach ($item in $items)
     $modifiedBy = $item["Editor"]
     $modified = $item["Modified"]
     $item["Today"] = Get-Date
     $item["Editor"] = $modifiedBy
     $item["Modified"] = $modified
     $item.Update()
     $list.Update()
    $SPWeb.Dispose()
    Stop-SPAssignment -Global  

    Hi
    Here is a quick powershell script to iterate a site collection and remove versioning on all list of base-type Document Library. Also the iteration removes all the current versions of list items. Great for freeing up space and also to make publishing sites
    a little more easy to manage content for trusted content approvers!
    Check the below powershell script
    [void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
    # Get site
    $site = new-object Microsoft.SharePoint.SPSite("http://YoServer:1002")
    # Iterate all the webs of the site
    foreach ($web in $site.AllWebs)
    # loop through all lists in web
    foreach ($list in $web.Lists)
    # Ensure list is of base Document Library
    if ($list.BaseType -ne "DocumentLibrary")
    # Move on
    continue
    # Loop through each item
    foreach ($item in $list.Items)
    # Get the file
    $file = $item.File
    # Delete all versions
    $file.Versions.DeleteAll()
    # Remove version from the list
    $list.EnableVersioning = $false
    $list.EnableModeration = $false
    # We still want to ensure check out
    $list.ForceCheckout = $true
    $list.Update()
    $web.Dispose();
    $site.Dispose();
    Please mark the Answer and Vote me if you think that it will help you to resolved your issue

  • Creating auto-increment field in SharePoint List

    In SharePoint, we can create the auto-incremental field by many ways, I am going to discuss two ways of doing it.
    Calculated field
    Item Event Receiver
    1. Using Calculated field:
    Using this we can accomplish it without doing any programing and it is a relatively simple way of doing it. By using “Calculated” column in SharePoint List we can create auto-increment field. We can accomplish this by creating a new column and choosing the
    column type as “Calculated (calculation based on other columns)”. And in Formula field, we have to enter [ID]
    In fact this will be using the values from “ID” field from SharePoint list that starts from 1.
    For example, if we want to start our auto-increment column from 100, we can modify the “Formula” field of Create New column screen, we can have to enter [ID] + 99
    For detailed info please follow the blog I wrote here: http://faisalrafique.wordpress.com/2011/03/19/creating-auto-increment-field-in-sharepoint-list/
    2. Using Item Event Receiver:
    By using this strategy, users have advantage to edit the existing values, we can also avoid it by making field read-only on feature activation. Using item event receiver, on ItemAdded event, we have to find the highest value among previously added items
    and then save the incremented value to current newly created auto-incremental column.
    For code of event reciever please follow the blog I wrote here:
    http://faisalrafique.wordpress.com/2011/03/19/creating-auto-increment-field-in-sharepoint-list/
    Happy Coding

    Use Sharepoint Designer to create a Workflow for the list containing the field to increment. For my project I had an Invoice field that I wanted to start with 1001 and increment from there so I made the following workflow to do this.
    In the new workflow screen in Sharepoint Designer create two actions in Step 1:
    Calculate Current Item:ID plus 1000 (Output to Variable: calc)
    then Set AutoIncrementNumber to Variable: calc
    This is just a guide. If you just want the auto-increment to start with 1 then you can just use this step
    Set AutoIncrementNumber to Current Item:ID
    Also, make sure you select the correct name for your field in the Workflow action instead of AutoIncrementNumber.
    Save the Workflow, close it, and then open it again in Sharepoint Designer. Check the box for "Start workflow automatically when an item is created." Save it again and then click on the Publish button to make it active on the sharepoint site. The value should
    now increment for each new item created in the list.

  • Split a text based on delimiter and add items to a sharepoint list using SPD workflow

    Hi All
    I have to store repeating table data into a sharepoint list. I have developed an approach to store data into a sharepoint list using web services as mentioned at
    http://www.bizsupportonline.net/infopath2007/how-to-submit-items-rows-repeating-table-infopath-sharepoint-list.htm. However this approach is working when form opened client only but when I opened it in browser this approach is giving error. Now I'm looking
    to promote repeating table data by combining items will a delimiter semi-colon (;). Please let me know how can I split the promoted field value using de-limiter and add it to a sharepoint list.
    Note:
    I'm working on SharePoint online 2010. (I don't have sharepoint on-premise, so I can't use SharePoint Object Model)
    If anybody know how to deal with this, please let me know.
    Thank you in advance.

    Hi Chuchendra,
    According to your description, my understanding is that you want to split the promoted field value in InfoPath form which was combined using semi-colon and add it to a SharePoint list.
    I recommend to submit the data to another SharePoint list first(use a column to store the value) and then create calculated columns to user formula to split the value, then use workflow to update the list where you want to add the value with the divided
    values.
    For example: the value is aa;bb;cc;dd.
    Based on the number of the semi-colons, we need to create one column to store the original value(named test for example), four calculated columns(v1,v2,v3,v4) to store the divided values and two more calculated columns(flag1,flag2) for use in the formula.
    v1: =LEFT([test],FIND(";",[test])-1)
    flag1: =RIGHT([test],LEN([test])-FIND(";",[test]))
    v2: =LEFT([flag1],FIND(";",[flag1])-1)
    flag2: =RIGHT([flag1],LEN([flag1])-FIND(";",[flag1]))
    v3: =LEFT([flag2],FIND(";",[flag2])-1)
    v4: =RIGHT([flag2],LEN([flag2])-FIND(";",[flag2]))
    We can also use Client Object Model to write code to split the value of the field.
    You can download the dll files form the link below:
    http://www.microsoft.com/en-in/download/details.aspx?id=21786
    Best regards.
    Thanks
    Victoria Xia
    TechNet Community Support

  • SSRS Clustered Column Report with SharePoint List

    Hi Guys,
    I have a SharePoint List which has 3 columns: Team Status Date and i want to generate clustere column chart using SSRS report. Could you please provide me steps for the same?
    X Axis - All the teams
    Y Axis - Count
    Legends
    1. Pending - status <> "Completed"
    2. Task Overdue - status <> "Completed" && (Date == Today between Date == Today - 30
    please find attached sample of report.
    This is what I have tried so far...
    I just need help on forming  expression.
    Thanks, Nilesh

    Hi Nilesh,
    According to your description, you want to use a SharePoint list as datasource then create a chart.
    In your scenario, we can add a calculated field which includes “pending” and  “Task Overdue”. Then add the calculated field to the Series Groups panel. Please refer to the steps and results below:
    1. Add a calculated field and specify the value with the expression below:
    =switch(Fields!status.Value <> "Completed" and Fields!Date.Value <= now() and Fields!Date.Value >= dateadd("d",-30,now()),"TaskOverdue",Fields!status.Value <> "compeleted","pending")
    2. Design the report like below and preview the report.
    If you have any question, please feel free to ask.
    Best regards,
    Qiuyun Yu
    Qiuyun Yu
    TechNet Community Support

  • How to import MS Excel data into an exisiting SharePoint List?

    Hi Guys,
    Is it possible to import an excel list or excel data into a SharePoint List that has already been created? Not create a new list.
    I know you can import a spreadsheet which will create a new list, but I don't want that because I have created columns already  that do calculations and such and I don't want to recreate them....
    It can be either an excel or access list, but I want to make sure the pre-existing columns in still my SharePoint list.

    Sure,
    Go to list datasheet view in IE
    Open excel and copy the range
    Paste in datasheet view
    If column range match and validation overcome, data will start pasting as expected.
    http://3sharp.com/blog/copy-and-paste-from-excel-to-a-sharepoint-list/
    https://clintoncherry.wordpress.com/2008/02/27/bulk-copy-and-paste-into-a-sharepoint-list/
    https://social.technet.microsoft.com/Forums/sharepoint/en-US/3c60ee05-1408-4b73-bb2b-2d42bf913572/how-to-copy-excel-sheet-data-to-sharepoint-2010-list
    Hope this will help
    Please 'propose as answer' if it helped you, also 'vote helpful' if you like this reply.

  • Build XML for Custom Nested Accordian (like Tree View Structure) for SharePoint List Data

    Expected output in Xml:
    <?xml version="1.0" encoding="utf-8" ?>
    - <TopRoot>
    - <Root id="1" Name="Department">
    - <Type id="2" Name="IT">
    - <SubType id="3" Name="Technology">
      <SubSubType id="4" Name="Sharepoint" />
      <SubSubType id="5" Name="ASP.NET" />
      <SubSubType id="6" Name="HTML 5" />
      </SubType>
      </Type>
    </Root>
    </TopRoot>
    List Details:
    list details for storing category / sub category data and code to build tree structure for the same.
    1.Create Custom List named “CategoryDetails”:
    2.Create Column “Category Name” of type single line of text. Make it as required field and check Yes for Enforce Unique values.
    3.Create column “Parent Category” of type lookup. under Additional Column Settings.
    Get information dropdown, select “CategoryDetails”.
    4.Choice column ["SRTypeName"] 1.Root,2.SRTYPE,3.SubSRTYPE, 4.SUBSUBSRTYPE
    In this column dropdown, select “Category Name”:  
    Referance:
    http://www.codeproject.com/Tips/627580/Build-Tree-View-Structure-for-SharePoint-List-Data    -fine but don't want tree view just generate xml string
    i just follwed above link it work perferfectly fine for building tree view but i don't want server control.
    Expected Result:
    My ultimate goal is to generate xml string like above format without building tree view.
    I want to generate xml using web service and using xml i could convert into nested Tree View Accordian in html.
    I developed some code but its not working to generate xml /string.
    My modified Code:
    public const string DYNAMIC_CAML_QUERY =
            "<Where><IsNull><FieldRef Name='{0}' /></IsNull></Where>";
            public const string DYNAMIC_CAML_QUERY_GET_CHILD_NODE =
            "<Where><Eq><FieldRef Name='{0}' /><Value Type='LookupMulti'>{1}</Value></Eq></Where>";
            protected void Page_Load(object sender, EventArgs e)
                if (!Page.IsPostBack)
                 string TreeViewStr= BuildTree();
                 Literal1.Text = TreeViewStr;
            StringBuilder sbRoot= new StringBuilder();
            protected string BuildTree()
                SPList TasksList;
                SPQuery objSPQuery;
                StringBuilder Query = new StringBuilder();
                SPListItemCollection objItems;
                string DisplayColumn = string.Empty;
                string Title = string.Empty;
                string[] valueArray = null;
                try
                    using (SPSite site = new SPSite(SPContext.Current.Web.Url))
                        using (SPWeb web = site.OpenWeb())
                            TasksList = SPContext.Current.Web.Lists["Service"];
                            if (TasksList != null)
                                objSPQuery = new SPQuery();
                                Query.Append(String.Format(DYNAMIC_CAML_QUERY, "Parent_x0020_Service_x0020_Id"));
                                objSPQuery.Query = Query.ToString();
                                objItems = TasksList.GetItems(objSPQuery);
                                if (objItems != null && objItems.Count > 0)
                                    foreach (SPListItem objItem in objItems)
                                        DisplayColumn = Convert.ToString(objItem["Title"]);
                                        Title = Convert.ToString(objItem["Title"]);
                                        int rootId=objItem["ID"].ToString();
                                        sbRoot.Append("<Root id="+rootId+"
    Name="+Title+">");
                                        string SRAndSUBSRTpe = CreateTree(Title, valueArray,
    null, DisplayColumn, objItem["ID"].ToString());
                                        sbRoot.Append(SRAndSUBSRTpe);
                                        SRType.Clear();//make SRType Empty
                                        strhtml.Clear();
                                    SRType.Append("</Root>");
                catch (Exception ex)
                    throw ex;
                return SRType.ToString();
             StringBuilder strhtml = new StringBuilder();
            private string CreateTree(string RootNode, string[] valueArray,
          List<SPListItem> objNodeCollection, string DisplayValue, string KeyValue)
                try
                    strhtml.Appends(GetSRType(KeyValue, valueArray, objNodeCollection);
                catch (Exception ex)
                    throw ex;
                return strhtml;
            StringBuilder SRType = new StringBuilder();
            private string GetSRType(string RootNode,
            string[] valueArray, List<SPListItem> objListItemColn)
                SPQuery objSPQuery;
                SPListItemCollection objItems = null;
                List<SPListItem> objNodeListItems = new List<SPListItem>();
                objSPQuery = new SPQuery();
                string objNodeTitle = string.Empty;
                string objLookupColumn = string.Empty;
                StringBuilder Query = new StringBuilder();
                SPList objTaskList;
                SPField spField;
                string objKeyColumn;
                string SrTypeCategory;
                try
                    objTaskList = SPContext.Current.Web.Lists["Service"];
                    objLookupColumn = "Parent_x0020_Service_x0020_Id";//objTreeViewControlField.ParentLookup;
                    Query.Append(String.Format
                    (DYNAMIC_CAML_QUERY_GET_CHILD_NODE, objLookupColumn, RootNode));
                    objSPQuery.Query = Query.ToString();
                    objItems = objTaskList.GetItems(objSPQuery);
                    foreach (SPListItem objItem in objItems)
                        objNodeListItems.Add(objItem);
                    if (objNodeListItems != null && objNodeListItems.Count > 0)
                        foreach (SPListItem objItem in objNodeListItems)
                            RootNode = Convert.ToString(objItem["Title"]);
                            objKeyColumn = Convert.ToString(objItem["ID"]);
                            objNodeTitle = Convert.ToString(objItem["Title"]);
                            SrTypeCategory= Convert.ToString(objItem["SRTypeName"]);
                           if(SrTypeCategory =="SRtYpe")
                              SRType.Append("<Type  id="+objKeyColumn+" Name="+RootNode+ ">");
                             if (!String.IsNullOrEmpty(objNodeTitle))
                              SRType.Append(GetSRType(objKeyColumn, valueArray, objListItemColn));
                          if(SrTypeCategory =="SRSubTYpe")
                              SRType.Append("<SRSubType  id="+objKeyColumn+" Name="+RootNode+
    ">");  
                             if (!String.IsNullOrEmpty(objNodeTitle))
                              SRType.Append(GetSRType(objKeyColumn, valueArray, objListItemColn));
                          if(SrTypeCategory =="SubSubTYpe")
                              SRType.Append("<SubSubType  id="+objKeyColumn+" Name="+RootNode +"
    ></SubSubType");  
                        SRType.Append("</SubType>");
                        SRType.Append("</Type>");
                catch (Exception ex)
                    throw ex;
                return SRType.ToString();
                // Call method again (recursion) to get the child items

    Hi,
    According to your post, my understanding is that you want to custom action for context menu in "Site Content and Structure" in SharePoint 2010.
    In "SiteManager.aspx", SharePoint use MenuItemTemplate class which represent a control that creates an item in a drop-down menu.
    For example, to create or delete the ECB menu for a list item in
    "Site Content and Structure", we can follow the steps below:
    To add the “My Like” menu, we can add the code below:      
    <SharePoint:MenuItemTemplate
    UseShortId=false
    id="OLListItemLike"
    runat="server"
    Text="My Like"
    ImageUrl="/_layouts/images/DelItem.gif"
    ClientOnClickNavigateUrl="https://www.google.com.hk/"
    />
    To remove the “Delete” menu, we can comment the code below:
    <SharePoint:MenuItemTemplate
    UseShortId=false
    id="OLListItemDelete"
    runat="server"
    Text="<%$Resources:cms,SmtDelete%>"
    ImageUrl="/_layouts/images/DelItem.gif"
    ClientOnClickScript="%SmtObjectDeleteScript%"
    />            
    The result is as below:
    More information:
    MenuItemTemplate Class (Microsoft.SharePoint.WebControls)
    MenuItemTemplate.ClientOnClickScript property (Microsoft.SharePoint.WebControls)
    Best Regards,
    Linda Li
    Linda Li
    TechNet Community Support

Maybe you are looking for

  • How do i upgrade from OS 10.4.11 to 10.5 or later?

    i have a powerbook G4 and am having trouble running many of the newest apps, programs and updates. they all say i need OS 10.5 or later. however, even after searching through help pages, i'm not so sure what to purchase or install in order to make th

  • Buggy action - 'the command "high pass" is not currently available'

    Hi, I've recently been speedtesting a couple of mac minis with different RAM and scratch configurations. To speedtest I'm running a Photoshop action. Today, I added 16Gb RAM (2 x 8Gb) to a 2011 i7 2.7 ghz mac mini and discovered that my previously we

  • Trying to setup AUFS2

    Hi, I'm trying to setup one single folder space across three partitions with AUFS2, but so far I've been unsuccessful. These are three (XFS) partitions I'm trying to join: /dev/sda4 xfs 172G 33M 172G 1% /media/ST3250410AS /dev/sdb1 xfs 149G 33M 149G

  • How can we improve query performance with out indexes?

    Hello Experts, I have a problem with table(calc) which contain 3 crore records and table doesn't have index, on that table one of the view(View_A) created. When i use the view in  below query SELECT count(*) FROM   Table A INNER JOIN Table B ON (A.a=

  • Removing OSX.RSPlug.a  Trojan Virus / Using a Trial version of VirusBarrier

    Hello, i have just downloaded the trial version of VirusBarrier and it has found 5 infected files with the RSPlug.a files Resourses> Post Install (OSX.RSPlug.a.postflight) Resourses> Pre Upgrade (OSX.RSPlug.a.preflight) Resourses> Pre Install (OSX.RS