Hi All,
I am exploring the AJAX support in Infragistics at the moment. Can anybody please explain how one can utilize XmlHTTPResponse in XmlHTTPRequestEventHandler method. On the click of a cell in a grid, i need to get an XML from the server and handle it on the client XmlHTTPResponseHandler function. If possible give and example (which lacks in Infragistics online help boo hoo hoo [:'(])
Please help.
Thanks in Advance
-Shikha
XmlHttpRequestEventHandler function of the server side is not getting fired. Do you know the reason?
Hello,
I have read your XmlHttpRequest Event Forum, someway it is also needed in my application. Can u give me one whole example instead of just overview of it.
Thanks
Bijal Shah
This is the result of blood, sweat and tears. The grid has a templated column with ASP buttons in a column. I'm handling the click on the client side and using the AJAX call to perform processing asynchronously. I hope the code is clear and helpful to you, and to others.
//Server-side stuff
protected void Grid_InitializeRow(object sender, RowEventArgs e) { UltraWebGrid stmGrid = ( UltraWebGrid ) sender; printButton.Attributes[ "OnClick" ] = "return PrintStatus( '" + stmGrid.ID + "', " + e.Row.Index + " );"; }
protected void DocumentGrid_XmlHTTPRequest( object sender, XmlHTTPRequestEventArgs e ){ if ( e.Type == XmlHTTPRequestType.Custom && e.Data.ToString( ).Contains( "ReportName" ) ) { UltraWebGrid stmGrid = sender as UltraWebGrid; //… Lots of good stuff reportId = SomeFunction( ); stmGrid.ClientResponse.StatusMessage = string.Format( "reportId={0}", reportId ); } }
//Client-side stuff
function PrintStatus( gridId, rowIndex ){ var grid = igtbl_getGridById( gridId ); var row = grid.Rows.getRow( rowIndex ); var params = "ReportName=PrintStatus";
grid.invokeXmlHttpRequest( grid.eReqType.Custom, null, params ); return false; //Don’t fire server-side event}
function DocumentGrid_XmlHTTPResponseHandler(gridName, rowId, gridResponse){ //Add code to handle your event here. if ( gridResponse.StatusMessage.indexOf("reportId=") != -1 ) { var windowName = gridResponse.StatusMessage.replace("reportId=",""); windowName = windowName.replace(/-/g,""); window.open( "../Reports/ShowReport.aspx?" + gridResponse.StatusMessage , windowName , "width=450, height=450, resizable=1, scrollbars=1" ); }}