C# - Custom Paging For GridView In An UpdatePanel Not Firing PageIndexChanging Event
Mar 17, 2010
I have a GridView that uses custom paging inside an UpdatePanel (so that the paging and sorting of the gridview don't cause postback). The sorting works fine, but the paging doesn't. The PageIndexChanging event is never called. This is the aspx code:
<asp:UpdatePanel runat="server" ID="upSearchResults" ChildrenAsTriggers="true" UpdateMode="Always">
<ContentTemplate>
<asp:GridView ID="gvSearchResults" runat="server" AllowSorting="true" AutoGenerateColumns="false" AllowPaging="true" PageSize="10" OnDataBound="gvSearchResults_DataBound"
OnRowDataBound ="gvSearchResults_RowDataBound" OnSorting="gvSearchResults_Sorting" OnPageIndexChanging="gvSearchResults_PageIndexChanging" Width="100%" EnableSortingAndPagingCallbacks="false">
<Columns>
<asp:TemplateField HeaderText="Select" HeaderStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:HyperLink ID="lnkAdd" runat="server">Add</asp:HyperLink>
<asp:HiddenField ID="hfPersonId" runat="server" Value='<%# Eval("Id") %>'/>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="First Name" DataField="FirstName" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" SortExpression="FirstName" />
<asp:BoundField HeaderText="Last Name" DataField="LastName" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" SortExpression="LastName" />
<asp:TemplateField HeaderText="Phone Number" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" >
<ItemTemplate>
<asp:Label ID="lblPhone" runat="server" Text="" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<PagerTemplate>
<table width="100%" class="pager">
<tr>
<td>
</td>
</tr>
</table>
</PagerTemplate>
</asp:GridView>
<div class="btnContainer">
<div class="btn btn-height_small btn-style_dominant">
<asp:LinkButton ID="lbtNewRecord" runat="server" OnClick="lbtNewRecord_Click"><span>Create New Record</span></asp:LinkButton>
</div>
<div class="btn btn-height_small btn-style_subtle">
<a onclick="openParticipantModal();"><span>Cancel</span></a>
</div>
</div>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="gvSearchResults" EventName="PageIndexChanging" />
<asp:AsyncPostBackTrigger ControlID="gvSearchResults" EventName="Sorting" />
</Triggers>
</asp:UpdatePanel>
In the code behind I have a SetPaging method that is called on the GridView OnDataBound event:
private void SetPaging(GridView gv)
{
GridViewRow row = gv.BottomPagerRow;
var place = row.Cells[0];
var first = new LinkButton();
first.CommandName = "Page";
first.CommandArgument = "First";
first.Text = "First";
first.ToolTip = "First Page";
if (place != null) place.Controls.Add(first);
var lbl = new Label();
lbl.Text = " ";
if (place != null) place.Controls.Add(lbl);
var prev = new LinkButton();
prev.CommandName = "Page";
prev.CommandArgument = "Prev";
prev.Text = "Prev";
prev.ToolTip = "Previous Page";
if (place != null) place.Controls.Add(prev);
var lbl2 = new Label();
lbl2.Text = " ";
if (place != null) place.Controls.Add(lbl2);
for (int i = 1; i <= gv.PageCount; i++)
{
var btn = new LinkButton();
btn.CommandName = "Page";
btn.CommandArgument = i.ToString();
if (i == gv.PageIndex + 1)
{
btn.BackColor = Color.Gray;
}
btn.Text = i.ToString();
btn.ToolTip = "Page " + i.ToString();
if (place != null) place.Controls.Add(btn);
var lbl3 = new Label();
lbl3.Text = " ";
if (place != null) place.Controls.Add(lbl3);
}
var next = new LinkButton();
next.CommandName = "Page";
next.CommandArgument = "Next";
next.Text = "Next";
next.ToolTip = "Next Page";
if (place != null) place.Controls.Add(next);
var lbl4 = new Label();
lbl4.Text = " ";
if (place != null) place.Controls.Add(lbl4);
var last = new LinkButton();
last.CommandName = "Page";
last.CommandArgument = "Last";
last.Text = "Last";
last.ToolTip = "Last Page";
if (place != null) place.Controls.Add(last);
var lbl5 = new Label();
lbl5.Text = " ";
if (place != null) place.Controls.Add(lbl5);
}
The paging works if I don't use custom paging, but I really need to use the custom paging. I can't figure out why the PageIndexChanging event isn't fired when I'm using the custom paging.
View 3 Replies
Similar Messages:
Nov 3, 2010
I cant for the life of me get the PageIndexChanging event to fire. Please advice.
<asp:GridView ID="gridViewTransactionList" runat="server" AutoGenerateColumns="False"
AllowPaging="True" BackColor="White" BorderColor="#3366CC" BorderStyle="Solid"
BorderWidth="1px" CellPadding="4" PageSize="10"
onpageindexchanging="gridViewTransactionList_PageIndexChanging"
ondatabinding="gridViewTransactionList_DataBinding"
onpageindexchanged="gridViewTransactionList_PageIndexChanged">
<Columns>
<asp:BoundField ItemStyle-Width = "150px" DataField = "RowNumber" HeaderText = "RowNumber" />
</Columns>
<RowStyle BackColor="#D7E5F5" ForeColor="#0F253F" CssClass="gridViewTransactionList" />
<AlternatingRowStyle BackColor="#F5F9FD" ForeColor="#0F253F" />
<FooterStyle BackColor="#99CCCC" ForeColor="#0F253F" />
<PagerStyle BackColor="#99CCCC" ForeColor="#0F253F" HorizontalAlign="Left" />
<SelectedRowStyle BackColor="#009999" Font-Bold="True" ForeColor="#CCFF99" />
<HeaderStyle BackColor="#538ED5" Font-Bold="True" ForeColor="#0F253F" />
</asp:GridView>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnConfirmDeletetransaction" EventName="Click" />
<asp:AsyncPostBackTrigger ControlID="gridViewTransactionList"
EventName="PageIndexChanging" />
</Triggers>
</asp:UpdatePanel>
protected override void OnInit(EventArgs e)
{
gridViewTransactionList.PageIndexChanging += new GridViewPageEventHandler(gridViewTransactionList_PageIndexChanging);
gridViewTransactionList.DataBind();
}
protected void gridViewTransactionList_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
DataTable dataTable;
gridViewTransactionList.PageIndex = e.NewPageIndex;
if (Session["TransactionDataTable"] != null)
{
dataTable = (DataTable)Session["TransactionDataTable"];
gridViewTransactionList.DataSource = dataTable;
gridViewTransactionList.DataBind();
}
}
View 6 Replies
May 7, 2015
I have a ImageButton inside a gridview. The gridview is inside update panel. i want to redirect to another page with the Clicking of the ImageButton. But it is not working inside update panel. what should i do?
View 1 Replies
Feb 10, 2011
I am trying to create a custom GridView with a header toolbar at the top that will contain icons to export the grid view to different formats like excel, word, etc.. The problem is, I cannot get the method to fire that is assigned to handle the click event for the corresponding Image Button. The page posts back, but the code I have in the method to handle the click event does not fire. I have followed examples in other posts and from what I can tell I have followed what others have done. Can somebody take a look at see if they can find something that I am doing wrong.
[Code]....
View 1 Replies
Aug 16, 2010
I have an UpdatePanel with a GridView. This GridView has a template column that is a DropDownList. The problem is that the SelectedIndexChanged event does not fire for the DropDownList. Here is the code:
[Code]....
The codebehind:
[Code]....
View 2 Replies
Apr 14, 2010
i am trying to set paging using the following code in pageload event.
GridView1.DataSource = ourdataset.Tables("Products")
GridView1.DataBind()
when i select the page button the parameter value ourdataset.Tables("Products") is set to nothing ?
Protected
Sub GridView1_PageIndexChanging1(ByVal sender
As
Object,
ByVal e
As System.Web.UI.WebControls.GridViewPageEventArgs)
Handles
GridView1.PageIndexChanging
GridView1.DataSource = SortDataTable(ourdataset.Tables("Products"),
True)
View 6 Replies
May 10, 2010
I have a master page containing a ScriptManager control, and a Content Page containing a ScriptManagerProxy Control. Further on the content page I have an UpdatePanel control containing a GridView control and a server side button control. I have registered the button control as a trigger with the UpdatePanel control asynchronously and have set the UpdateMode of the UpdatePanel to "Conditional". I also have a "JumpLoader" control which is outside the UpdatePanel control. I have the following event for Jumploader wired up through Javascript. I am pasting the relevant sections of the code below:
[Code].....
View 10 Replies
Feb 16, 2011
I am opening a popup from aspx.cs page when a button ckicks, but at that time the source page is getting refresh.
To avoid that i want to use updatepanel, but if I use that button click event is not firing.
the code of .aspx page is
<asp:UpdatePanel ID="pnlButtons" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnPreview" />
</Triggers>
[Code]....
View 3 Replies
Oct 24, 2010
i am developing the webpage using Visual 2008.In that i have i am using update panel and displaying values in the textbox bby using webservices from sql database.I need this thing if textbox values changes i need to change the backkground color of the text box also, so that user can easily identify which textbox values are changing. like this i have 5 more text boxes control in the same form .i have tried but i could not able to get done. i have written javascript code on change event of the text box it does work.
[code]...
View 2 Replies
Mar 11, 2011
I have a checkbox, textbox and requiredfieldvalidator inside the updatepanel. Once user checks selects
checkbox I am enabling requiredfieldvalidator.
I have one more textbox, requiredfieldvalidator, validationgroup and Linkbutton outside updatepanel.
Strange thing is Checkbox checked event not firing in some cases,
1. Check the checkbox (which enables requiredfieldvalidator)
2. Click the Linkbutton (fires two validators)
3. Uncheck the checkbox (which should disable requiredfieldvalidator)
4. Click the linkbutton again (again it fires two validator, which should fire only one validator)
Note: The problem only arising when I add javascript block to linkbutton in page load event.
[Code]....
View 3 Replies
Mar 22, 2010
I am creating an array of checkboxes :
1. chkresponse = new System.Web.UI.WebControls.CheckBox[cnumber + 1];
for (int
i = 0; i < cnumber + 1; i++){
chkresponse[i] = new System.Web.UI.WebControls.CheckBox();
chkresponse[i].CheckedChanged +=
new EventHandler(chkresponse_CheckedChanged);
chkresponse[i].AutoPostBack =true;
}
2. thereafter adding them to a panel
Panel1.Controls.Add(chkresponse[n]);
3. then added the checkedchanged event:
public
void chkresponse_CheckedChanged(Object sender, System.EventArgs e)
{Label1.Text = "response";}
but the event is never fired. the panel is insdie an updatepanel.
View 5 Replies
Feb 11, 2011
I Read This [URL] but when i click next page mygird be Empty and blank
<asp:GridView ID="grdData" runat="server" AutoGenerateColumns="False" GridLines="None"
View 1 Replies
Feb 3, 2011
The custom event for a DateTimeControl is not firing. Instead the CreateChildControls() is firing, every-time I change the date on Calendar.
namespace myn
{
class StopTimeFieldControl : BaseFieldControl
{
protected DateTimeControl dateTime;
[Code]....
View 2 Replies
May 19, 2013
I have read your article from aspsnippets.com about custom paging it really work, but there are a problem that if there are more record in database (2000 to 5000) than  number of page index  will be goes in large number. like 1 to 200, any way which can divide it  like 12345678910...2000.
View 1 Replies
Jun 4, 2010
This is a classic sort of question, I suppose, but it seems that most people are interested in having the textbox cause a postback. I'm not. I just want the event to fire when a postback occurs.
I have created a webpart with a custom editorpart. The editorpart renders with a textbox and a button. Clicking the button causes a dialog to open. When the dialog is closed, it sets the value of the textbox via javascript and then does __doPostBack using the ClientID of the editorpart.
The postback happens, but the TextChanged event never fires, and I'm not sure if it's a problem with the way __doPostBack is invoked, or if it's because of the way I'm setting up the event handler, or something else. Here's what I think is the relevant portion of the code from the editorpart:
protected override void CreateChildControls()
{
_txtListUrl = new TextBox();
_txtListUrl.ID = "targetSPList";[code].....
View 1 Replies
Apr 14, 2010
I have a custom control that renders a button. I'm trying to attach a server click event but it isn't firing. My code is:
protected override void CreateChildControls()
{
btnRangeGo = new Button();
btnRangeGo.CssClass = "divSearchGo";
btnRangeGo.Text = Resources.CORE_Resource.S0C29; // Go
btnRangeGo.Click += new EventHandler(btnRangeGo_Click);
// Tried with no luck:
// this.Controls.Add(btnRangeGo); // Needed so OnClick gets registered
// Page.Controls.Add(btnRangeGo); // Needed so OnClick gets registered
}
private void btnRangeGo_Click(object sender, EventArgs e)
{
int i = 1;
}
OnRender:
btnRangeGo.RenderControl(writer);
View 5 Replies
Nov 5, 2010
I have a gridview that's inside a .ascx control that's dynamically embedded into another .ascx control, which is then called by a web form. The gridview will initially bind, but when any paging/sorting/command events are then triggered, I can't get any breakpoints inside the events to kick off. Additionally, when I look at the code-behind in the now-blank page, I see the old data sitting there.
what on earth is going on here? For edification, the .ascx page with the control is excerpted.
Parent .ascx control:
[code]...
View 1 Replies
Aug 24, 2010
I am new to Ajax. I have problem in paging for gridview which is in a update panel.I set the update panel update mode to conditional. The 2nd page records are not display after I click the 2nd page.for ref:
scriptmanager mode=release,enable page method=true.
updatepanel:always
View 4 Replies
Feb 11, 2011
I have a DetailsView control bound to an ObjectDataSource within a User Control (.ascx). It appears that the DetailsView.OnDataBound event is being fired on every page load or postback.
I do not see this behavior with a similiar DetailsView directly placed on an aspx page.
View 1 Replies
May 27, 2010
I am having a problem where my button click event is still firing even though my custom server-side validation is set to args.IsValid = false. I am debugging through the code and the validation is definitely being fired before the button click, and args.IsValid is definitely being set to false once the custom validation takes place, but it always makes its way to the button click event afterwards.
View 1 Replies
Dec 15, 2010
I have a simple form containing a gridview that displays some records. Everything works fine but I was hoping to wrap the grid view inside an updatepanle to prevent a full postback (flickering) when paging.
It doesn't seem to matter what I try, paging always causes a full postback which causes the page to flicker. What am I doing wrong?
Here's my markup:
[Code]....
And here's my aspx code:
[Code]....
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true"></asp:ScriptManager>
View 6 Replies
Jun 23, 2010
I have a problem with my Linkbutton which is not firing the RowCommand of my gridview.
Just for an Idea what I am doing is a follows:
1. WebForm
WebForm hosts UserControl_A.
2. UserControl_A = UpdatePanel + Panels + Gridview1 + CollapsiblePanelExtender
Updatepanel of UserControl_A consists of multiple Panels.
Each Panel consists of a Gridview1.
Upon each Panel expand UserControl_B is loaded.
3. UserControl_B = Details View & a couple of Linkbuttons in GridView2
Upon clicking the Linkbutton, unexpectedly it makes a refresh for the entire UserControl_A.
But it does not fire the RowCommand of its parent GridView2.
View 2 Replies
Jan 26, 2011
Altough questions somehow similar to this have been asked for a number of times, but the question is still unsolved. Here is the question: I have a gridview which is contained in a tab container ajax control which itself is inside an updatepanel. Gridview works excellent and its corresponding methods are fired accurately, but when I enable paging, (e.g.) after I click on page 2, the gridview hides itself. here is my PageIndexChanging method:
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
GridView1.DataBind();
UpdatePanel2.Update();
}
Why paging causes gridview to stop working correctly? What can I do?
View 2 Replies
Apr 9, 2010
I have a gridview which is inside the update panel. Also I have setup a multipe filters which works fine. After the search I get the correct returns and page numbers but as soon I switch the pages, it loses its state and lists all the page numbers.
[Code]....
View 2 Replies
Jan 19, 2010
I have done this successfully in another project and seemingly copied the code from it to a new one, yet it doesn't work.
I have a custom gridView with the following code:
<asp:GridView ID="gvCustomEditors" runat="server" AutoGenerateColumns="False"
View 2 Replies