I have a web project in which I had to show specific number of records and that that
specific number of records will display
in each next and previous button . I have used List<> for the
datasource for GridView.
Source Code :-
<asp:GridView ID="GridViewItems" runat="server" Width="100%" DataKeyNames="Item_ID"
OnPageIndexChanging="GridViewItems_PageIndexChanging"
PageSize="12" >
<asp:TemplateField>
<FooterTemplate>
<asp:Label ID="LblRecordCount"
Text=""
runat="server"
Style="text-align: center;
margin-left: -290px; font-size: 11px"></asp:Label>
<asp:Button ID="BtnNext"
runat="server"
Text=">>"
OnClick="BtnNext_Click"
CssClass="ButtonPlain"
/>
<asp:Button ID="BtnBack"
runat="server"
Text="<<"
ToolTip="Previous"
Style="margin-left: -117px"
OnClick="BtnBack_Click"
CssClass="ButtonPlain"
/>
</FooterTemplate>
</asp:TemplateField>
C# Code :-
protected void Page_Load(object sender, EventArgs
e)
{
try
{
if (IsPostBack == false)
{
GetAllItem();
GetRecord();
}
catch (Exception
ex)
{
}
}
public void GetAllItem()
{
try
{
var ItemList = (from
it in LstDetails()
orderby it.Item_ID descending
select it;
if (ItemList.ToList().Count > 0)
{
ViewState["RowCount"] =
ItemList.ToList().Count;
GridViewItems.Visible = true;
GridViewItemVariation.Visible = false;
GridViewItems.DataSource = ItemList.ToList();
GridViewItems.DataBind();
}
}
catch (Exception
ex)
{
}
}
public void
GetRecord()
{
int InitialCount = 1;
int totalcount = int.Parse(ViewState["RowCount"].ToString());
int num = GridViewItems.PageIndex + 1;
int x = num * GridViewItems.PageSize;
int z = x - GridViewItems.PageSize + 1;
Button MyBtnBack = (Button)GridViewItems.FooterRow.FindControl("BtnBack");
Button MyBtnNext = (Button)GridViewItems.FooterRow.FindControl("BtnNext");
Label Mylabel = (Label)GridViewItems.FooterRow.FindControl("LblRecordCount");
if (x > totalcount)
{
Mylabel.Text = z + " - " +
totalcount + "
of " + totalcount;
Mylabel.Visible = true;
}
else
{
Mylabel.Text = z + " - " +
x + "
of " + totalcount;
Mylabel.Visible = true;
}
}
public void BtnNext_Click(object sender, EventArgs
e)
{
if (Convert.ToString(ViewState["cc"]) == "")
{
GridViewItems.PageIndex = 1;
ViewState["cc"]
= GridViewItems.PageIndex;
}
else
{
if (GridViewItems.PageIndex < (int.Parse(ViewState["RowCount"].ToString())
/ GridViewItems.PageSize))
{
GridViewItems.PageIndex = int.Parse(ViewState["cc"].ToString()) + 1;
ViewState["cc"] =
GridViewItems.PageIndex;
}
}
GetAllItemCommon();
GetRecord();
}
public void BtnBack_Click(object sender, EventArgs
e)
{
if (Convert.ToString(ViewState["cc"]) != "")
{
if (GridViewItems.PageIndex > 0)
{
GridViewItems.PageIndex = int.Parse(ViewState["cc"].ToString()) - 1;
ViewState["cc"] =
GridViewItems.PageIndex;
}
}
GetAllItemCommon();
GetRecord();
}
No comments:
Post a Comment