I successfully implemented the solution ....
protected void DisplayItems()
{
DataTable data = new DataTable();
data = (DataTable)Session["events"];
PagedDataSource pds = new PagedDataSource();
DataView dv = new DataView(data);
pds.DataSource = dv;
pds.AllowPaging = true;
pds.PageSize = Convert.ToInt32(dropDownItems.SelectedValue.ToString());
pds.CurrentPageIndex = PageNumber;
if (PageNumber == 1110)
{
repeaterEvents.DataSource = data;
repeaterEvents.DataBind();
rptPager.Visible = true;
ArrayList pages = new ArrayList();
pages.Add("Show all".ToString());
for (int i = 0; i < pds.PageCount; i++)
pages.Add((i + 1).ToString());
rptPager.DataSource = pages;
rptPager.DataBind();
}
else
{
if (pds.PageCount > 1)
{
rptPager.Visible = true;
ArrayList pages = new ArrayList();
pages.Add("Show all".ToString());
for (int i = 0; i < pds.PageCount; i++)
pages.Add((i + 1).ToString());
rptPager.DataSource = pages;
rptPager.DataBind();
}
else
{
rptPager.Visible = false;
}
repeaterEvents.DataSource = pds;
repeaterEvents.DataBind();
}
Session["events"] = data;
//}
}
public int PageNumber
{
get
{
if (ViewState["PageNumber"] != null)
return Convert.ToInt32(ViewState["PageNumber"]);
else
return 0;
}
set
{
ViewState["PageNumber"] = value;
}
}
protected void rptPager_ItemDataBound(object source, RepeaterItemEventArgs e)
{
LinkButton lnk = (LinkButton)e.Item.FindControl("btnPage");
if (showAll_ == false)
{
// if (ViewState["viewall"] != "1")
if (lnk.CommandArgument.ToString() == (PageNumber + 1).ToString())
{
lnk.ForeColor = System.Drawing.Color.Black;
}
else
{
{
lnk.ForeColor = System.Drawing.Color.White;
}
}
}
else
{
if (lnk.CommandArgument.ToString() == "Show all".ToString())
{
lnk.ForeColor = System.Drawing.Color.Black;
}
}
}
protected void rptPager_ItemCommand(object source, RepeaterCommandEventArgs e)
{
PageNumber = Convert.ToInt32(e.CommandArgument.ToString().Replace("Show all","1111")) - 1;
if (PageNumber == 1110)
{
showAll_ = true;
}
DisplayItems();
}
protected void btnReadMore_Click(object sender, EventArgs e)
{
LinkButton button = (sender as LinkButton);
DataTable data = new DataTable();
if (Session["events"] != null)
{
Session["events"] = null;
}
data.Columns.Add("event_id", typeof(int));
DataRow row;
row = data.NewRow();
row["event_id"] = button.CommandArgument;
data.Rows.Add(row);
Session["events"] = data;
Response.Redirect("EventDetails.aspx");
}
protected void SortEvents_OnSelectedIndexChanged(object sender, EventArgs e)
{
DataTable data = new DataTable();
SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["con"].ConnectionString);
connection.Open();
string sql;
if(drpSort.SelectedIndex==1)
{
sql = "SELECT event_id,DATENAME(MONTH, event_start_date)+ ' ' + RIGHT('0' + DATENAME(DAY, event_start_date), 2) + ', ' + DATENAME(YEAR, event_start_date) AS event_start_date,DATENAME(MONTH, event_end_date)+ ' ' + RIGHT('0' + DATENAME(DAY, event_end_date), 2) + ', ' + DATENAME(YEAR, event_end_date) AS event_end_date,event_subject,event_short_desc,event_position_id,event from dbo.events where convert(nvarchar(15),event_start_date,103) >= convert(nvarchar(15),getdate(),103) and convert(nvarchar(15),event_end_date,103) >= convert(nvarchar(15),getdate(),103) order by event_subject asc";
}
else if (drpSort.SelectedIndex == 2)
{
sql = "SELECT event_id,DATENAME(MONTH, event_start_date)+ ' ' + RIGHT('0' + DATENAME(DAY, event_start_date), 2) + ', ' + DATENAME(YEAR, event_start_date) AS event_start_date,DATENAME(MONTH, event_end_date)+ ' ' + RIGHT('0' + DATENAME(DAY, event_end_date), 2) + ', ' + DATENAME(YEAR, event_end_date) AS event_end_date,event_subject,event_short_desc,event_position_id,event from dbo.events where convert(nvarchar(15),event_start_date,103) >= convert(nvarchar(15),getdate(),103) and convert(nvarchar(15),event_end_date,103) >= convert(nvarchar(15),getdate(),103) order by event_subject desc";
}
else if (drpSort.SelectedIndex == 3)
{
sql = "SELECT event_id,DATENAME(MONTH, event_start_date)+ ' ' + RIGHT('0' + DATENAME(DAY, event_start_date), 2) + ', ' + DATENAME(YEAR, event_start_date) AS event_start_date,DATENAME(MONTH, event_end_date)+ ' ' + RIGHT('0' + DATENAME(DAY, event_end_date), 2) + ', ' + DATENAME(YEAR, event_end_date) AS event_end_date,event_subject,event_short_desc,event_position_id,event from dbo.events where convert(nvarchar(15),event_start_date,103) >= convert(nvarchar(15),getdate(),103) and convert(nvarchar(15),event_end_date,103) >= convert(nvarchar(15),getdate(),103) ORDER BY CONVERT(DateTime, event_start_date,101) asc";
}
else if (drpSort.SelectedIndex == 4)
{
sql = "SELECT event_id,DATENAME(MONTH, event_start_date)+ ' ' + RIGHT('0' + DATENAME(DAY, event_start_date), 2) + ', ' + DATENAME(YEAR, event_start_date) AS event_start_date,DATENAME(MONTH, event_end_date)+ ' ' + RIGHT('0' + DATENAME(DAY, event_end_date), 2) + ', ' + DATENAME(YEAR, event_end_date) AS event_end_date,event_subject,event_short_desc,event_position_id,event from dbo.events where convert(nvarchar(15),event_start_date,103) >= convert(nvarchar(15),getdate(),103) and convert(nvarchar(15),event_end_date,103) >= convert(nvarchar(15),getdate(),103) ORDER BY CONVERT(DateTime, event_start_date,101) DESC";
}
else
{
sql = "SELECT event_id,DATENAME(MONTH, event_start_date)+ ' ' + RIGHT('0' + DATENAME(DAY, event_start_date), 2) + ', ' + DATENAME(YEAR, event_start_date) AS event_start_date,DATENAME(MONTH, event_end_date)+ ' ' + RIGHT('0' + DATENAME(DAY, event_end_date), 2) + ', ' + DATENAME(YEAR, event_end_date) AS event_end_date,event_subject,event_short_desc,event_position_id,event from dbo.events where convert(nvarchar(15),event_start_date,103) >= convert(nvarchar(15),getdate(),103) and convert(nvarchar(15),event_end_date,103) >= convert(nvarchar(15),getdate(),103) order by event_position_id";
}
SqlCommand cmd = new SqlCommand(sql, connection);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
sda.Fill(data);
Session["events"] = data;
DisplayItems();
connection.Close();
}
protected void dropDownItems_SelectedIndexChanged(object sender, EventArgs e)
{
DisplayItems();
}