Thursday, July 14, 2011

Client Object Model to fetch data from sharepoint list

Below ExecuteOrDelay...line should be first line before you execute any client object model script

ExecuteOrDelayUntilScriptLoaded(funDefault, "sp.js");

var context = null; 
var web = null; 

context = new SP.ClientContext.get_current(); 
web = context.get_web(); 
context.load(web);
var list = web.get_lists().getByTitle("Employees"); 
var camlQuery = new SP.CamlQuery(); 
var q = ""++"100"; 
camlQuery.set_viewXml(q);
this.listItems = list.getItems(camlQuery); 

context.load(listItems,'Include(DisplayName,Id,EmpFullName)'); //what ever field you want from Employee list, you can specify here. DisplayName is nothing but 'Title'

context.executeQueryAsync(Function.createDelegate(this, this.onSuccessMethod), Function.createDelegate(this, this.onFailureMethod)); 


function onSuccessMethod(sender, args) 
{
var listEnumerator = this.listItems.getEnumerator(); 
if(this.listItems.get_count()!=0) 
{
while (listEnumerator.moveNext()) 
{
var item = listEnumerator.get_current(); 
var title = item.get_displayName(); 
var body=new Option(title, item.get_item('Body')); 
document.getElementById('divMain').innerHTML=item.get_item('EmpFullName'); //divMain is a div that i added in content editor webpart
}
}



 
function onFailureMethod(sender, args) 
{
alert('request failed....' + args.get_message() + '\n' + args.get_stackTrace()); 
}


1 comment:

  1. //below ExecuteOrDelay...line should be first line before you execute any client object model script

    ExecuteOrDelayUntilScriptLoaded(funDefault, "sp.js");

    var context = null;
    var web = null;

    context = new SP.ClientContext.get_current();
    web = context.get_web();
    context.load(web);
    var list = web.get_lists().getByTitle("Employees");
    var camlQuery = new SP.CamlQuery();
    var q = ""++"100";
    camlQuery.set_viewXml(q);
    this.listItems = list.getItems(camlQuery);

    context.load(listItems,'Include(DisplayName,Id,EmpFullName)'); //what ever field you want from Employee list, you can specify here. DisplayName is nothing but 'Title'

    context.executeQueryAsync(Function.createDelegate(this, this.onSuccessMethod), Function.createDelegate(this, this.onFailureMethod));


    function onSuccessMethod(sender, args)
    {
    var listEnumerator = this.listItems.getEnumerator();
    if(this.listItems.get_count()!=0)
    {
    while (listEnumerator.moveNext())
    {
    var item = listEnumerator.get_current();
    var title = item.get_displayName();
    var body=new Option(title, item.get_item('Body'));
    document.getElementById('divMain').innerHTML=item.get_item('EmpFullName'); //divMain is a div that i added in content editor webpart
    }
    }

    }

     
    function onFailureMethod(sender, args)
    {
    alert('request failed....' + args.get_message() + '\n' + args.get_stackTrace());
    }

    ReplyDelete