Get all the Field Names from a Specified List View in the SharePoint 2010

In this article you will see how to get all the field names from a specified list view in the SharePoint 2010 using ECMAScript.


Introduction

In this article you will see how to get all the field names from the specified list view in the SharePoint 2010 using ECMAScript. I have a list named "List Request" from which I need to get all the field names from a particular view (for example: "All Items"). In this I will show you how to get the field names from "All Items" view. My "All Items" view has the following view fields.

Step 1

d1.gif

Steps Involved

  •      Navigate to the SharePoint site ( I have a site page created in my site where I am going to add the content editor web part).

  •      On to Site Actions, click on Edit Page.

d2.gif

 Step 2 :  Click on Insert tab in the ribbon interface and then click on Web Part button.

d3.gif

Step 3 Select Media and Content in the Categories section and then click on Content Editor.

d4.gif

 Step 4 : Click on Add.

 Step 5 : Content editor web part will be added to the site page.

 Step 6 : Click on down arrow and then click on Edit Web Part.

d5.gif

Step 7 : Click on "Click here to add new content".
d6.gif

Step 8 : Click on Format Text tab in the ribbon interface and then click on HTML drop down.

d7.gif

Step 9 : Click on Edit HTML source.

Step 10 : HTML source window will pop up.

d8.gif

Step 11 : Copy and paste the following script.

code :

<script language="ecmascript" type="text/ecmascript">
        var web = null;|
        var listCollection = null;|
        var list = null;
        var viewCollection = null;|
        var view = null;
        var value = null;
        var viewFieldColl = null;
        function getViewFields() {
            var clientContext = new SP.ClientContext.get_current();
            if (clientContext != undefined && clientContext != null) {
                this.web = clientContext.get_web();
                this.listCollection = web.get_lists();
                this.list = listCollection.getByTitle("List Request");
                this.viewCollection = list.get_views();
                this.view = viewCollection.getByTitle("All Items");
                this.viewFieldColl = view.get_viewFields();
                clientContext.load(this.viewFieldColl);
                clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));
            }
        }
        function onQuerySucceeded() {
            this.value = viewFieldColl.get_schemaXml();
            alert(value)
        }
        function onQueryFailed(sender, args) {
            alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
        }</script>
    <input id="btnGetViewFields" onclick="getViewFields()" type="button" value="Get View Fields"
/>

Step 12 : Click on Ok.

Step 13 : In the ribbon interface click on Save & Close button.

d9.gif

Step 14 : In the content editor web part you could find a button named "Get View Fields", click on that button.

d10.gif

Step 15 : Alert will pop up displaying the field names as shown in the following.

d11.gif
Reference

SP.View.viewFields Property
- http://msdn.microsoft.com/en-us/library/ee553144.aspx
SP.ViewFieldCollection.schemaXml Property - http://msdn.microsoft.com/en-us/library/ee558136.aspx

Summary

Thus in this article you have seen how to get all the field names from the specified view in the SharePoint 2010 list