I have developed a custom web part which reads data from SharePoint List named "Projects" and display in a GridView control. Find below the code of the custom web part:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;
using System.Data;
namespace ReadListDataWebPart
{
public class CustomListDataWebPart : WebPart
{
protected override void CreateChildControls()
{
SPWeb web = SPControl.GetContextWeb(Context);
GridView gview = new GridView();DataTable dt = new DataTable();
DataRow dr;
DataColumn dc;
foreach (SPList list in web.Lists)
{
if (list.Title == "Projects")
{
if (list.ItemCount > 0)
{
dc = new DataColumn("Project",Type.GetType("System.String"));
dt.Columns.Add(dc);
dc = new DataColumn("Client", Type.GetType("System.String"));
dt.Columns.Add(dc);
foreach (SPListItem item in list.Items)
{
dr = dt.NewRow();
dr["Project"] = item["Project"];dr["Client"] = item["Client"];
dt.Rows.Add(dr);
}
}
gview.DataSource = dt;
gview.DataBind();
}
}
Controls.Add(gview);
}
}
}