I am building a user .ascx control that contains a RadGrid. On row double click I have to be able to get Id value of that grid and a value in "Title" column and place them in TextBoxes on a parent form. Now, I have made a custom event for this (called it SelectEvent) which will be handled on parent form, and have defined custom event args class (PickereventArgs with two properties: int ID, string Title). I want to raise that event on SelectedIndexChanged of the RadGrid in .ascx like this
but I can't fire OnSelectedIndexChange with double click on row.
Help, anyone? I need it quickly because I have a deadline and my boss is getting a bit nervous :)
protected void gridPicker_SelectedIndexChanged(object sender, EventArgs e){ foreach (GridDataItem item in gridPicker.SelectedItems) { if (item.Selected) { if (SelectEvent != null) { PickerEventArgs args = new PickerEventArgs(); args.Title = item.Cells[1].Text; args.Id = Convert.ToInt32(item.Cells[0].Text); SelectEvent(this,args); gridPicker.DataSource = null; this.Visible = false; } } } }but I can't fire OnSelectedIndexChange with double click on row.
Help, anyone? I need it quickly because I have a deadline and my boss is getting a bit nervous :)
7 Answers, 1 is accepted
0
asimptota
Top achievements
Rank 1
answered on 01 Feb 2013, 07:37 AM
Anyone? Please, I'm stuck on this for three days :)
0
Princy
Top achievements
Rank 2
answered on 01 Feb 2013, 09:34 AM
Hi,
In your RowDblClick js function, you could perform an ajax call by calling the RadAjaxManager and including a CommandArgument to the AjaxRequest() method. Please take a look into the following code snippet.
Javascript:
C#:
Thanks,
Princy.
In your RowDblClick js function, you could perform an ajax call by calling the RadAjaxManager and including a CommandArgument to the AjaxRequest() method. Please take a look into the following code snippet.
Javascript:
function RowDblClick(sender, eventArgs) { $find("<%= RadAjaxManager1.ClientID %>").ajaxRequest("SelectedIndexChanged");}C#:
protected void RadAjaxManager1_AjaxRequest(object sender, Telerik.Web.UI.AjaxRequestEventArgs e){ if (e.Argument == "SelectedIndexChanged") { //Your code }}Thanks,
Princy.
0
asimptota
Top achievements
Rank 1
answered on 01 Feb 2013, 09:45 AM
I understand but, I am using RadAjaxmanagerProxy in my .ascx user control because I already have RadAjaxManager in the form where I have to put my control. How can I hadle
AjaxRequest in this case?0
Jayesh Goyani
Top achievements
Rank 2
answered on 01 Feb 2013, 10:00 AM
Hello,
please check below link, It will help you.
http://www.telerik.com/community/forums/aspnet-ajax/grid/how-to-detect-single-and-double-click-in-itemcommand-of-radgrid.aspx#2472194
Thanks,
Jayesh Goyani
please check below link, It will help you.
http://www.telerik.com/community/forums/aspnet-ajax/grid/how-to-detect-single-and-double-click-in-itemcommand-of-radgrid.aspx#2472194
Thanks,
Jayesh Goyani
0
Princy
Top achievements
Rank 2
answered on 01 Feb 2013, 10:03 AM
Hi,
Please try the following Javascript in the UserControl.
Javascript:
Thanks,
Princy.
Please try the following Javascript in the UserControl.
Javascript:
function RowDblClick(sender, eventArgs) { $find("<%= RadAjaxManager.GetCurrent(Page).ClientID %>").ajaxRequest("SelectedIndexChanged"); }Thanks,
Princy.
0
asimptota
Top achievements
Rank 1
answered on 01 Feb 2013, 10:32 AM
Thank you guys for your answers, but it doesn't work.
Jayesh: I've tried but it doesn't fire
Princy: this calls
This is really frustrating...
Jayesh: I've tried but it doesn't fire
RadGrid1_ItemCommand event at all. Am I missing something?Princy: this calls
RowDblClick function on the form where I've placed my control but I can't access RadGrid that is within that control. This is really frustrating...
0
Princy
Top achievements
Rank 2
answered on 01 Feb 2013, 11:10 AM
Hi,
Please try the following code snippet to access the Radgrid in the UserControl.
C#:
Thanks,
Princy.
Please try the following code snippet to access the Radgrid in the UserControl.
C#:
protected void RadAjaxManager1_AjaxRequest(object sender, Telerik.Web.UI.AjaxRequestEventArgs e){ RadGrid grid = (RadGrid)UserControlID.FindControl("RadGridID");}Thanks,
Princy.