12 Answers, 1 is accepted
0
Princy
Top achievements
Rank 2
answered on 01 Feb 2013, 08:43 AM
Hi,
Please try the following code snippet to cancel the PageSizeChanged event in ItemCommand.
C#:
Thanks,
Princy.
Please try the following code snippet to cancel the PageSizeChanged event in ItemCommand.
C#:
protected
void
RadGrid1_ItemCommand(
object
sender, Telerik.Web.UI.GridCommandEventArgs e)
{
if
(((System.Web.UI.WebControls.CommandEventArgs)(e)).CommandName ==
"ChangePageSize"
)
{
e.Canceled =
true
;
}
}
Thanks,
Princy.
0
Parag
Top achievements
Rank 1
answered on 01 Feb 2013, 09:17 AM
Princy, thanks for quick reply, but did not work. When i changed PageSize still NeedDataSource event fires
0
Hi Parag,
This command will cause an internal rebind operation. Can you please elaborate some more on your specific scenario? This will help us to figure out your exact requirements and suggest a proper approach.
Kind regards,
Eyup
the Telerik team
This command will cause an internal rebind operation. Can you please elaborate some more on your specific scenario? This will help us to figure out your exact requirements and suggest a proper approach.
Kind regards,
Eyup
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now.
0
Parag
Top achievements
Rank 1
answered on 07 Feb 2013, 01:40 PM
Hi Eyup,
Thanks for reply.
I have to cancel PageSize event before it takes an effect. I want to handle this event internally, When user changed page size, i have to check some validation when event fire. If validation passes, then it's execution will continue other wise it cancelled & validation message will display to user.
i.e.
On PageSize_Event()
{
if(validation is true)
{
//continue page size change event
}
else
{
//display validation & cancel page size event, store changed page size into ViewState
//reset page size to it's original value
}
}
Thanks for reply.
I have to cancel PageSize event before it takes an effect. I want to handle this event internally, When user changed page size, i have to check some validation when event fire. If validation passes, then it's execution will continue other wise it cancelled & validation message will display to user.
i.e.
On PageSize_Event()
{
if(validation is true)
{
//continue page size change event
}
else
{
//display validation & cancel page size event, store changed page size into ViewState
//reset page size to it's original value
}
}
0
Hello Parag,
You can use the following approach:
That should do the trick. Please give it a try and let me know about the result.
Please note that NeedDataSource event will still fire since canceling the event requires rebinding the grid to reset the grid to its initial state.
All the best,
Eyup
the Telerik team
You can use the following approach:
protected
void
grid_PageSizeChanged(
object
sender, GridPageSizeChangedEventArgs e)
{
if
(
false
)
// validation condition
{
// continue
}
else
{
e.Canceled =
true
;
}
}
That should do the trick. Please give it a try and let me know about the result.
Please note that NeedDataSource event will still fire since canceling the event requires rebinding the grid to reset the grid to its initial state.
All the best,
Eyup
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now.
0
Parag
Top achievements
Rank 1
answered on 13 Feb 2013, 04:58 AM
Hello Eyup,
Yes, your last post works fine. It cancel Page Size Event. As you mention, still it fires NeedDataSource, can you find some work around for the same. Any ways i don't want to rebind grid (this is achieved in case of Sorting, Filtering event) , because i have to persist data in grid controls if user has changed some thing.
eagerly waiting for reply...
Thanks,
Parag
Yes, your last post works fine. It cancel Page Size Event. As you mention, still it fires NeedDataSource, can you find some work around for the same. Any ways i don't want to rebind grid (this is achieved in case of Sorting, Filtering event) , because i have to persist data in grid controls if user has changed some thing.
eagerly waiting for reply...
Thanks,
Parag
0
Hi Parag,
Currently, this can be only achieved if you overwrite the client side command to cancel the server side execution. Is this applicable for your requirements?
All the best,
Eyup
the Telerik team
Currently, this can be only achieved if you overwrite the client side command to cancel the server side execution. Is this applicable for your requirements?
All the best,
Eyup
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now.
0
Parag
Top achievements
Rank 1
answered on 18 Feb 2013, 09:28 AM
Hi Eyup,
I can not use client side code to cancel PageIndexChanged event (i.e. NeedDataSource event) of rad grid, cause i have to perform some actions on server side.
Is there any other way?
Thanks,
Patag
I can not use client side code to cancel PageIndexChanged event (i.e. NeedDataSource event) of rad grid, cause i have to perform some actions on server side.
Is there any other way?
Thanks,
Patag
0
Hi Parag,
Please try the following approach:
JavaScript:
C#:
That should do the trick. Please give it a try and let me know if it works for you.
All the best,
Eyup
the Telerik team
Please try the following approach:
JavaScript:
<script type=
"text/javascript"
>
Telerik.Web.UI.GridTableView.prototype.set_pageSize =
function
(value) {
if
(
this
.PageSize != value) {
this
.PageSize = value;
this
.set_currentPageIndex(0,
true
);
this
.fireCommand(
"PageSizeChangeInitiated"
, value);
this
._updatePager();
}
}
</script>
protected
void
RadGrid1_ItemCommand(
object
sender, GridCommandEventArgs e)
{
if
(e.CommandName ==
"PageSizeChangeInitiated"
)
{
if
(
false
)
// custom condition
{
e.Item.OwnerTableView.PageSize =
int
.Parse(e.CommandArgument.ToString());
e.Item.OwnerTableView.Rebind();
}
}
}
That should do the trick. Please give it a try and let me know if it works for you.
All the best,
Eyup
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now.
0
Kim
Top achievements
Rank 1
answered on 24 Mar 2014, 10:33 PM
Hi,
I know this is an older thread, and the suggested solution works great.
But I have one problem. The new value in the Page Size Combo box that was selected by the user still shows the new value, even though it failed my audit.
That is, it was originally 10, the user selected 20.
Since it failed the audit I would like to make sure it gets set back to 10.
But at the _ItemCommand event the page size values still show 10, so resetting it to 10 is doing nothing.
Should I be catching an event somewhere to make sure the 20 is not selected.
Thanks.
Kim
I know this is an older thread, and the suggested solution works great.
But I have one problem. The new value in the Page Size Combo box that was selected by the user still shows the new value, even though it failed my audit.
That is, it was originally 10, the user selected 20.
Since it failed the audit I would like to make sure it gets set back to 10.
But at the _ItemCommand event the page size values still show 10, so resetting it to 10 is doing nothing.
Should I be catching an event somewhere to make sure the 20 is not selected.
Thanks.
Kim
0
Kim
Top achievements
Rank 1
answered on 26 Mar 2014, 04:42 PM
Hi,
Another issue. I have more than one telerik grid on my page, let's say RadGrid1 and RadGrid2.
I only want RadGrid1 to use the special Page Size functionality: Telerik.Web.UI.GridTableView.prototype.set_pageSize
How can I make just RadGrid1 use the set_pageSize. Right now RadGrid2 is hitting the javascript logic for the set_pageSize and it shouldn't.
Thanks.
Another issue. I have more than one telerik grid on my page, let's say RadGrid1 and RadGrid2.
I only want RadGrid1 to use the special Page Size functionality: Telerik.Web.UI.GridTableView.prototype.set_pageSize
How can I make just RadGrid1 use the set_pageSize. Right now RadGrid2 is hitting the javascript logic for the set_pageSize and it shouldn't.
Thanks.
0
Hi Kim,
I have created a sample RadGrid web site to demonstrate how you can achieve the requested functionality. Please run the attached application and let me know if it helps you.
Regards,
Eyup
Telerik
I have created a sample RadGrid web site to demonstrate how you can achieve the requested functionality. Please run the attached application and let me know if it helps you.
Regards,
Eyup
Telerik
Build cross-platform mobile apps using Visual Studio and .NET. Register for the online webinar on 03/27/2014, 11:00AM US ET.. Seats are limited.