Life, SAP, Consulting, Programming, Coding, ASP.NET, Sharepoint, MVC, Javascript, PHP, WebDesign, CSS, HTML

Mục tiêu:

Trong bài này, chúng ta sẽ tìm hiểu cách lập trình để lấy/tìm kiếm một item trong Sharepoint List sử dụng SPView, SPList.GetItems(SPView)

Tương tác đơn giản với Sharpeoint List và sử dụng SPListItemCollection

using (SPSite site = new
SPSite(http://stec/testweb”))

{

  if (site != null)

  {

    using (SPWeb web = site.OpenWeb())

    {

      SPList list = web.Lists[“List”];

 
 

      if (list != null)

      {

        foreach (SPListItem item in list.Items)

        {

          //do something, i.e. you can find any item using condition here

          if(item[“column name of list”].ToString() == “anything”)

            {

          Console.WriteLine(item.Title.ToString());

      }*/

          //if you are testing on console application

          Console.WriteLine(item.Title.ToString());

        }

      }

      web.Close();

    }

    site.Close();

  }

}

 

Đoạn mã đơn giản ở trên sẽ lấy ra một mẫu trong list “List” có cột “column name of list” == “anything. Sau đó, ghi tiêu đề của mẫu ra Console.

Đây là ví dụ đơn giản để bắt đầu tìm hiểu lập trình với Sharepoint List. Đoạn mã trên được viết mặc định gắn liền với site http://stect/testweb. Nếu như sử dụng Webpart, sử dụng đoạn mã sau để Webpart có thể chạy với bấy kỳ site nào:

using (SPSite site = SPContext.Current.Site)

{

  if (site != null)

  {

     using (SPWeb web = site.OpenWeb())

     {

        SPList list = web.Lists[“your list name”];

 
 

        if (list != null)

        {

            foreach (SPListItem item in list.Items)

            {

            //do something here

            //If you are using ascx page for webpart

            //or want to display on aspx page

           
 

            Response.Write(item.Title.ToString());

 
 

            }

        }

        web.Close();

     }

     site.Close();

   }

}

 

Chúng ta có một List đơn giản, hiển thị tất cả các Items:

Đường dẫn URL lúc này là : AllItems.aspx

Đường dẫn này ứng với View All Items

Chúng ta sẽ tạo ra một View có tên là “All Products” lọc ra những Items có từ product trong title.

URL của view này là :


Công việc chúng ta bây giờ là lấy ra những Items trong một View nhất định nào đó.

Thực hiện như thế nào nhỉ?

Câu trả lời là chúng ta sẽ sử dụng phương thức SPList.GetItems() Trả lại một tập các Items trong Sharepoint List với kiểu là SPListItemCollection

SPList.GetItems có những kiểu tham số truyền vào như sau:

Name

Description

SPList.GetItems (SPQuery)

Trả lại một những Items thõa mãn SPQuery được truyền vào

SPList.GetItems (SPView)

Trả lại những Items trong View được truyền vào

SPList.GetItems (SPQuery, String)

Trả lại những mẫu thỏa mãn SPQuery và View được truyền vào

 

Vậy thì để lấy ra những Items trong View nào đó chúng ta sẽ sử dụng câu lệnh sau:

SPListItemCollection coll = web.Lists[“ListName”].GetItems(web.Lists[“ListName”].Views[“ViewName”]);

Và đoạn code đầy đủ sẽ như sau:

using (SPSite site = new
SPSite(http://stec/testweb”))

{

    if (site != null)

    {

        using (SPWeb web = site.OpenWeb())

        {

 
 

            SPList list = web.Lists[“ListName”];

 
 

            if (list != null)

            {

                SPListItemCollection coll = web.Lists[“ListName”].GetItems(web.Lists[“ListName”].Views[“ViewName”]);

 
 

                foreach (SPListItem item in
coll)

                {

                    //do something

                    //if you are testing on console application

                    Console.WriteLine(item.Title.ToString());

                }

            }

            web.Close();

        }

        site.Close();

    }

}

 

Như vậy là chúng ta đã có được Collections của items trong View nào đó.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: