Description:-
In this example we explain that how to use DataPager control
with Listview in Asp.Net
What is DataPager
DataPager
Provides paging functionality for data-bound controls that implement the IPageableItemContainer interface, such as the ListView control.
Why use DataPager
The ListView is
a hybrid control between a DataGrid control and Repeater control that join or
combines the templating of the Repeater control and the editing features of the
data grid control.
We all know that The
ListView control doesn't support paging, so the DataPager serves as an external control to
provide paging facility.
DataPager control
can be associated with the data-bound control by using the PagedControlID
property. Alternatively, by putting the DataPager control inside the data-bound
control hierarchy. For example, in the ListView control, DataPager control can
be kept inside the ListView-LayoutTemplate.
The number of rows or
items that are displayed for each page of data can be customized by changing
the PageSize property of the Datapager control.
Pager Fields
Here is some navigation
property of the DataPager control to
display navigation controls.
Pager
field type
|
Description
|
NextPreviousPagerField
|
Enables
users to navigate through pages one page at a time, or to jump to the first
or last page.
|
NumericPagerField
|
Enables
users to select a page by page number.
|
TemplatePagerField
|
Enables
you to create a custom paging UI.
|
Page Properties
The following table
property escribes the number of rows are displayed in a control.
Property
|
Description
|
MaximumRows
|
The
maximum number of records that are displayed for each page of data.
|
StartRowIndex
|
The
index of the first record that is displayed on a page of data.
|
TotalRowCount
|
The
total number of records that are available in the underlying data source.
|
How to use DataPager
in Asp.Net
In order to use the DataPager
control with the ListView we need to do two things
1. The ID of the ListView
control is set for the PagedControlID property of the DataPager
control.
2. and second is you need to define the event OnPagePropertiesChanging which will be raised or fired
when the DataPager Page is changed or clicked.
You will also need to import the following namespaces.
using System.Data;
using System.Configuration;
using System.Data.SqlClient;
Handling Paging in ListView
using DataPager control
When the page is changed or
clicked inside the DataPager the following event hander of the ListView is
fired or triggered.
Here first the DataPager
control is found and then its SetPageProperties method is executed so that the page
numbers are recreated.
protected void OnPagePropertiesChanging(object sender, PagePropertiesChangingEventArgs
e)
{
(lvemp.FindControl("dtpaging") as
DataPager).SetPageProperties(e.StartRowIndex,
e.MaximumRows, false);
this.BindListView();
}
Sorting Row data in gridview Gridview Sorting
How to handle Concurrency in Linq to Sql Concurrency Example
Cs.aspx:-
<%@ Page Language="C#"
AutoEventWireup="true"
CodeFile="CS.aspx.cs"
Inherits="CS"
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Using
DataPager control with example in ASP.Net</title>
<style type="text/css">
body
{
font-family:
Arial;
font-size:
12pt;
}
table
{
border:
1px solid #ccc;
}
table
th
{
background-color:
#F8F8F8;
color:
#333;
font-weight:
bold;
}
table
th, table
td
{
padding:
5px;
border-color:
#fff;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<asp:ListView ID="lvemp" runat="server" GroupPlaceholderID="groupPlaceHolder1" ItemPlaceholderID="itemPlaceHolder1"
OnPagePropertiesChanging="OnPagePropertiesChanging">
<LayoutTemplate>
<table cellpadding="0" cellspacing="0">
<tr>
<th>
Name
</th>
<th>
Mo NO
</th>
<th>
Country
</th>
</tr>
<asp:PlaceHolder runat="server" ID="groupPlaceHolder1"></asp:PlaceHolder>
<tr>
<td colspan="3">
<asp:DataPager ID="dtpaging" runat="server" PagedControlID="lvemp" PageSize="3">
<Fields>
<asp:NextPreviousPagerField
ButtonType="Link"
ShowFirstPageButton="false"
ShowPreviousPageButton="true"
ShowNextPageButton="false"
/>
<asp:NumericPagerField
ButtonType="Link"
/>
<asp:NextPreviousPagerField
ButtonType="Link"
ShowNextPageButton="true"
ShowLastPageButton="false"
ShowPreviousPageButton="false"
/>
</Fields>
</asp:DataPager>
</td>
</tr>
</table>
</LayoutTemplate>
<GroupTemplate>
<tr>
<asp:PlaceHolder runat="server" ID="itemPlaceHolder1"></asp:PlaceHolder>
</tr>
</GroupTemplate>
<ItemTemplate>
<td>
<%# Eval("Name") %>
</td>
<td>
<%# Eval("Mo No") %>
</td>
<td>
<%# Eval("Country") %>
</td>
</ItemTemplate>
</asp:ListView>
</form>
</body>
</html>
Cs.aspx.cs:-
using System;
using
System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using
System.Web.UI.WebControls;
using System.Data;
using
System.Data.SqlClient;
using
System.Configuration;
public partial class CS : System.Web.UI.Page
{
DataTable
dt = null;
protected void Page_Load(object
sender, EventArgs e)
{
if (!this.IsPostBack)
{
this.BindListView();
}
}
private void BindListView()
{
if (dt
== null)
{
dt = new
DataTable();
dt.Columns.Add("Name");
dt.Columns.Add("Mo No");
dt.Columns.Add("Country");
DataRow
dr1 = dt.NewRow();
dr1[0] = "Kirit";
dr1[1] = "9978718797";
dr1[2] = "India";
dt.Rows.Add(dr1);
DataRow
dr2 = dt.NewRow();
dr2[0] = "Amit";
dr2[1] = "652718797";
dr2[2] = "India";
dt.Rows.Add(dr2);
DataRow
dr3 = dt.NewRow();
dr3[0] = "Rahul";
dr3[1] = "9429168522";
dr3[2] = "Australia";
dt.Rows.Add(dr3);
DataRow
dr4 = dt.NewRow();
dr4[0] = "Ajay";
dr4[1] = "9978718797";
dr4[2] = "Pakistan";
dt.Rows.Add(dr4);
DataRow
dr5 = dt.NewRow();
dr5[0] = "Ketan";
dr5[1] = "9971284522";
dr5[2] = "India";
dt.Rows.Add(dr5);
lvemp.DataSource = dt;
lvemp.DataBind();
}
}
protected void OnPagePropertiesChanging(object sender, PagePropertiesChangingEventArgs
e)
{
(lvemp.FindControl("dtpaging") as
DataPager).SetPageProperties(e.StartRowIndex,
e.MaximumRows, false);
this.BindListView();
}
}
0 comments:
Post a Comment