Users Pricing

articles

Home Articles Read External List (BCS) from SharePoint 2010 using Client Object Model in C# – MindStick

Read External List (BCS) from SharePoint 2010 using Client Object Model in C#

Chris Anderson 17801 13 Dec 2011 Updated 04 Mar 2020

In this article I am going to explain how you can access data in your BCS data source, by utilizing the Client Object Model.

Read External List (BCS) from SharePoint 2010 using Client Object Model in C#

Read External List (BCS) from SharePoint 2010 using Client Object Model in C#

Next, we need to add references to the Client Object Model in order to be able to work with the client-side APIs from our Windows Application.

Right click theReferencesnode and choose Add Reference”  

Read External List (BCS) from SharePoint 2010 using Client Object Model in C#

·         Choose Browse:

·       Go to the following location: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI.

·         Select these two files:

Microsoft.SharePoint.Client.dll

Microsoft.SharePoint.Client.Runtime.dll

Read External List (BCS) from SharePoint 2010 using Client Object Model in C#

  Add the following controls in your Windows Application Form:

·         A new DataGridView control

·         A new Button control

Read External List (BCS) from SharePoint 2010 using Client Object Model in C#

After adding controls you have to write the following code to access external list data:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using SP1 = Microsoft.SharePoint;
using SP = Microsoft.SharePoint.Client;
 
namespace AccessExternalListData
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            // Define the Client Context (as defined in your textbox)
            SP.ClientContext context = new SP.ClientContext("http://rohit:34143/");
            SP.Web site = context.Web;
 
            var StudentList = site.Lists.GetByTitle("StudentList");
 
            SP.CamlQuery camlQuery = new SP.CamlQuery();
 
            IQueryable<SP.ListItem> students = 
                                          StudentList.GetItems(camlQuery);                                           StudentList.GetItems(camlQuery);
            IEnumerable<SP.ListItem> externalList = context.LoadQuery(students);
            context.ExecuteQuery();
 
            var studentListData = from student in externalList
              select new
              {
                  // We're never pointing to the field at the 0-index
                  // because it's used by the BDC Identity itself. Hence our elements 
                     start at 1.                      start at 1.
                  StudentID = student.FieldValues.ElementAt(1).Value.ToString(),
                  StudentName = student.FieldValues.ElementAt(2).Value.ToString(),
                  StudentCourse = student.FieldValues.ElementAt(3).Value.ToString()
              };
 
            // Simply clear the rows and columns of the GridView
            gvStudents.Rows.Clear();
            gvStudents.Columns.Clear();
 
            // Add the columns we need (ProductID, Name, Description)
            gvStudents.Columns.Add("StudentID", "StudentID");
            gvStudents.Columns.Add("Name", "Name");
             gvStudents.Columns.Add("Course", "Course");
            foreach (var stud in studentListData)
            {
                // For each product in the list, add a new row to the GridView
               gvStudents.Rows.Add(stud.StudentID, stud.StudentName, stud.StudentCourse);
            }
        }
    }
}

 When you run this application and click on button (Display List) it will look something like this       

Read External List (BCS) from SharePoint 2010 using Client Object Model in C#

Thanks for reading this article. I think this will help you a lot.



hi I am software developer at mindstick software pvt. ltd.


Markdown for AI

A clean, structured version of this page for AI assistants and LLMs.

Open .md