Refer Link
code on .ascx
<SharePoint:SPGridView ID="gvCRBooked" runat="server" AutoGenerateColumns="false"
Width="850px">
<RowStyle BackColor="#D0D8E8" Height="30px" HorizontalAlign="Left" />
<AlternatingRowStyle BackColor="#E9EDF4" Height="30px" HorizontalAlign="Left" />
<HeaderStyle HorizontalAlign="Left" CssClass="ms-viewheadertr" />
<Columns>
<asp:TemplateField HeaderText="Tool Name" ControlStyle-Width="250px" SortExpression="Title"
HeaderStyle-CssClass="ms-viewheadertr">
<ItemTemplate>
<asp:Label ID="lblTitle" runat="server" Text='<%# Eval("Title") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Author" ControlStyle-Width="100px" SortExpression="Author0"
HeaderStyle-CssClass="ms-viewheadertr">
<ItemTemplate>
<asp:Label ID="lblConferenRoom" runat="server" Text='<%# Eval("Author0") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="TimeStream" ControlStyle-Width="100px" SortExpression="TimeStream"
HeaderStyle-CssClass="ms-viewheadertr">
<ItemTemplate>
<asp:Label ID="lblLocation" runat="server" Text='<%# Eval("TimeStream") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="WorkStream" ControlStyle-Width="100px" SortExpression="WorkStream"
HeaderStyle-CssClass="ms-viewheadertr">
<ItemTemplate>
<asp:Label ID="lblFromDateTime" runat="server" Text='<%# Eval("WorkStream") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Modified" ControlStyle-Width="100px" SortExpression="Modified"
HeaderStyle-CssClass="ms-viewheadertr">
<ItemTemplate>
<asp:Label ID="lblToDateTime" runat="server" Text='<%# Eval("Modified") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="ToolStatus" ControlStyle-Width="300px" SortExpression="ToolStatus" HeaderStyle-HorizontalAlign="Left"
HeaderStyle-CssClass="ms-viewheadertr">
<ItemTemplate>
<asp:Label ID="lblDescription" runat="server" Text='<%# Eval("ToolStatus") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Link" ControlStyle-Width="100px"
HeaderStyle-CssClass="ms-viewheadertr">
<ItemTemplate>
<asp:Label ID="lblBookedDuration" runat="server" Text='<%# Eval("Link") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<EmptyDataTemplate>
<asp:Label ID="lblNoAccess" Text="No records available" runat="server" CssClass="emptyDataLabel"></asp:Label>
</EmptyDataTemplate>
</SharePoint:SPGridView>
code on ascx.cs
ObjectDataSource gridDS = null;
protected void Page_Load(object sender, EventArgs e)
{
try
{
SetToolsDashboardData();
const string DATASOURCEID = "gridDS";
gridDS = new ObjectDataSource();
gridDS.ID = DATASOURCEID;
gridDS.SelectMethod = "SelectData";
gridDS.TypeName = this.GetType().AssemblyQualifiedName;
gridDS.ObjectCreating += new ObjectDataSourceObjectEventHandler(gvCRBooked_ObjectCreating);
this.Controls.Add(gridDS);
BindGrid();
}
catch (Exception ex)
{
}
}
void gvCRBooked_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
{
e.ObjectInstance = this;
}
public DataTable SelectData()
{
DataTable dataSource = new DataTable();
SPSite site = SPContext.Current.Web.Site;
SPWeb web = null; ;
try
{
SPSecurity.RunWithElevatedPrivileges(delegate()
{
web = site.OpenWeb();
SPList spList = web.Lists["Tools"];
SPListItemCollection spListItemCollection = spList.Items;
SPQuery query = new SPQuery();
//IEnumerable<SPListItem> lstItemICSSDocuments = lstICSSDocuments.GetItems(query).OfType<SPListItem>();
dataSource.Columns.Add("Title");
dataSource.Columns.Add("Author0");
dataSource.Columns.Add("TimeStream");
dataSource.Columns.Add("WorkStream");
dataSource.Columns.Add("Modified");
dataSource.Columns.Add("ToolStatus");
dataSource.Columns.Add("Link");
foreach (SPListItem itms in spListItemCollection)
{
DataRow dr = dataSource.NewRow();
dr["Title"] = itms["Title"];
dr["Author0"] = Convert.ToString(itms["Created By"]).Split('#')[1].ToString();
dr["TimeStream"] = itms["TimeStream"];
dr["WorkStream"] = itms["WorkStream"];
dr["Modified"] = Convert.ToDateTime(itms["Modified"]).ToShortDateString();
dr["ToolStatus"] = itms["ToolStatus"];
dr["Link"] = itms["Link"];
dataSource.Rows.Add(dr);
}
});
web.Dispose();
}
catch (Exception ex)
{
}
return dataSource;
}
private void BindGrid()
{
gvCRBooked.AllowPaging = true;
// Sorting
gvCRBooked.AllowSorting = true;
//allow Filtering
gvCRBooked.FilterDataFields = "Title,Author0,TimeStream,WorkStream,Modified,ToolStatus";
gvCRBooked.FilteredDataSourcePropertyName = "FilterExpression";
gvCRBooked.FilteredDataSourcePropertyFormat = "{1} = '{0}'";
gvCRBooked.Sorting += new GridViewSortEventHandler(gvCRBooked_Sorting);
gvCRBooked.PageIndexChanging += new GridViewPageEventHandler(gvCRBooked_PageIndexChanging);
//For Filtering
gridDS.Filtering += new ObjectDataSourceFilteringEventHandler(gvCRBooked_Filtering);
gvCRBooked.AutoGenerateColumns = false;
gvCRBooked.AllowFiltering = true;
gvCRBooked.PagerTemplate = null;
gvCRBooked.PageSize = 3;
gvCRBooked.DataSourceID = gridDS.ID;
gvCRBooked.DataBind();
}
void gvCRBooked_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
gvCRBooked.PageIndex = e.NewPageIndex;
gvCRBooked.DataSourceID = gridDS.ID;
gvCRBooked.DataBind();
}
void gvCRBooked_Sorting(object sender, GridViewSortEventArgs e)
{
string lastExpression = "";
if (ViewState["SortExpression"] != null)
lastExpression = ViewState["SortExpression"].ToString();
string lastDirection = "asc";
if (ViewState["SortDirection"] != null)
lastDirection = ViewState["SortDirection"].ToString();
string newDirection = string.Empty;
if (e.SortExpression == lastExpression)
{
e.SortDirection = (lastDirection == "asc") ? System.Web.UI.WebControls.SortDirection.Descending : System.Web.UI.WebControls.SortDirection.Ascending;
} newDirection = (e.SortDirection == System.Web.UI.WebControls.SortDirection.Descending) ? "desc" : "asc";
ViewState["SortExpression"] = e.SortExpression;
ViewState["SortDirection"] = newDirection;
gvCRBooked.DataBind(); //For Filter
if (ViewState["FilterExpression"] != null)
{
gridDS.FilterExpression = (string)ViewState["FilterExpression"];
}
}
//For Filtering
private void gvCRBooked_Filtering(object sender, ObjectDataSourceFilteringEventArgs e)
{
ViewState["FilterExpression"] = ((ObjectDataSourceView)sender).FilterExpression;
}
}
code on .ascx
<SharePoint:SPGridView ID="gvCRBooked" runat="server" AutoGenerateColumns="false"
Width="850px">
<RowStyle BackColor="#D0D8E8" Height="30px" HorizontalAlign="Left" />
<AlternatingRowStyle BackColor="#E9EDF4" Height="30px" HorizontalAlign="Left" />
<HeaderStyle HorizontalAlign="Left" CssClass="ms-viewheadertr" />
<Columns>
<asp:TemplateField HeaderText="Tool Name" ControlStyle-Width="250px" SortExpression="Title"
HeaderStyle-CssClass="ms-viewheadertr">
<ItemTemplate>
<asp:Label ID="lblTitle" runat="server" Text='<%# Eval("Title") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Author" ControlStyle-Width="100px" SortExpression="Author0"
HeaderStyle-CssClass="ms-viewheadertr">
<ItemTemplate>
<asp:Label ID="lblConferenRoom" runat="server" Text='<%# Eval("Author0") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="TimeStream" ControlStyle-Width="100px" SortExpression="TimeStream"
HeaderStyle-CssClass="ms-viewheadertr">
<ItemTemplate>
<asp:Label ID="lblLocation" runat="server" Text='<%# Eval("TimeStream") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="WorkStream" ControlStyle-Width="100px" SortExpression="WorkStream"
HeaderStyle-CssClass="ms-viewheadertr">
<ItemTemplate>
<asp:Label ID="lblFromDateTime" runat="server" Text='<%# Eval("WorkStream") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Modified" ControlStyle-Width="100px" SortExpression="Modified"
HeaderStyle-CssClass="ms-viewheadertr">
<ItemTemplate>
<asp:Label ID="lblToDateTime" runat="server" Text='<%# Eval("Modified") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="ToolStatus" ControlStyle-Width="300px" SortExpression="ToolStatus" HeaderStyle-HorizontalAlign="Left"
HeaderStyle-CssClass="ms-viewheadertr">
<ItemTemplate>
<asp:Label ID="lblDescription" runat="server" Text='<%# Eval("ToolStatus") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Link" ControlStyle-Width="100px"
HeaderStyle-CssClass="ms-viewheadertr">
<ItemTemplate>
<asp:Label ID="lblBookedDuration" runat="server" Text='<%# Eval("Link") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<EmptyDataTemplate>
<asp:Label ID="lblNoAccess" Text="No records available" runat="server" CssClass="emptyDataLabel"></asp:Label>
</EmptyDataTemplate>
</SharePoint:SPGridView>
code on ascx.cs
ObjectDataSource gridDS = null;
protected void Page_Load(object sender, EventArgs e)
{
try
{
SetToolsDashboardData();
const string DATASOURCEID = "gridDS";
gridDS = new ObjectDataSource();
gridDS.ID = DATASOURCEID;
gridDS.SelectMethod = "SelectData";
gridDS.TypeName = this.GetType().AssemblyQualifiedName;
gridDS.ObjectCreating += new ObjectDataSourceObjectEventHandler(gvCRBooked_ObjectCreating);
this.Controls.Add(gridDS);
BindGrid();
}
catch (Exception ex)
{
}
}
void gvCRBooked_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
{
e.ObjectInstance = this;
}
public DataTable SelectData()
{
DataTable dataSource = new DataTable();
SPSite site = SPContext.Current.Web.Site;
SPWeb web = null; ;
try
{
SPSecurity.RunWithElevatedPrivileges(delegate()
{
web = site.OpenWeb();
SPList spList = web.Lists["Tools"];
SPListItemCollection spListItemCollection = spList.Items;
SPQuery query = new SPQuery();
//IEnumerable<SPListItem> lstItemICSSDocuments = lstICSSDocuments.GetItems(query).OfType<SPListItem>();
dataSource.Columns.Add("Title");
dataSource.Columns.Add("Author0");
dataSource.Columns.Add("TimeStream");
dataSource.Columns.Add("WorkStream");
dataSource.Columns.Add("Modified");
dataSource.Columns.Add("ToolStatus");
dataSource.Columns.Add("Link");
foreach (SPListItem itms in spListItemCollection)
{
DataRow dr = dataSource.NewRow();
dr["Title"] = itms["Title"];
dr["Author0"] = Convert.ToString(itms["Created By"]).Split('#')[1].ToString();
dr["TimeStream"] = itms["TimeStream"];
dr["WorkStream"] = itms["WorkStream"];
dr["Modified"] = Convert.ToDateTime(itms["Modified"]).ToShortDateString();
dr["ToolStatus"] = itms["ToolStatus"];
dr["Link"] = itms["Link"];
dataSource.Rows.Add(dr);
}
});
web.Dispose();
}
catch (Exception ex)
{
}
return dataSource;
}
private void BindGrid()
{
gvCRBooked.AllowPaging = true;
// Sorting
gvCRBooked.AllowSorting = true;
//allow Filtering
gvCRBooked.FilterDataFields = "Title,Author0,TimeStream,WorkStream,Modified,ToolStatus";
gvCRBooked.FilteredDataSourcePropertyName = "FilterExpression";
gvCRBooked.FilteredDataSourcePropertyFormat = "{1} = '{0}'";
gvCRBooked.Sorting += new GridViewSortEventHandler(gvCRBooked_Sorting);
gvCRBooked.PageIndexChanging += new GridViewPageEventHandler(gvCRBooked_PageIndexChanging);
//For Filtering
gridDS.Filtering += new ObjectDataSourceFilteringEventHandler(gvCRBooked_Filtering);
gvCRBooked.AutoGenerateColumns = false;
gvCRBooked.AllowFiltering = true;
gvCRBooked.PagerTemplate = null;
gvCRBooked.PageSize = 3;
gvCRBooked.DataSourceID = gridDS.ID;
gvCRBooked.DataBind();
}
void gvCRBooked_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
gvCRBooked.PageIndex = e.NewPageIndex;
gvCRBooked.DataSourceID = gridDS.ID;
gvCRBooked.DataBind();
}
void gvCRBooked_Sorting(object sender, GridViewSortEventArgs e)
{
string lastExpression = "";
if (ViewState["SortExpression"] != null)
lastExpression = ViewState["SortExpression"].ToString();
string lastDirection = "asc";
if (ViewState["SortDirection"] != null)
lastDirection = ViewState["SortDirection"].ToString();
string newDirection = string.Empty;
if (e.SortExpression == lastExpression)
{
e.SortDirection = (lastDirection == "asc") ? System.Web.UI.WebControls.SortDirection.Descending : System.Web.UI.WebControls.SortDirection.Ascending;
} newDirection = (e.SortDirection == System.Web.UI.WebControls.SortDirection.Descending) ? "desc" : "asc";
ViewState["SortExpression"] = e.SortExpression;
ViewState["SortDirection"] = newDirection;
gvCRBooked.DataBind(); //For Filter
if (ViewState["FilterExpression"] != null)
{
gridDS.FilterExpression = (string)ViewState["FilterExpression"];
}
}
//For Filtering
private void gvCRBooked_Filtering(object sender, ObjectDataSourceFilteringEventArgs e)
{
ViewState["FilterExpression"] = ((ObjectDataSourceView)sender).FilterExpression;
}
}
No comments:
Post a Comment