jQWidgets Forums
jQuery UI Widgets › Forums › Grid › Grid custom button actions
This topic contains 2 replies, has 2 voices, and was last updated by latha 11 years, 1 month ago.
-
Author
-
var cellsrenderer = function (row, columnfield, value, defaulthtml, columnproperties) { return '<div style="padding-left:5px;padding-top:20px;"><img id="btnEdit" src="/images/Edit.gif"></img><span style="padding-left:5px;"><img id="btnDelete" src="images/Delete.gif"></img></span><span style="padding-left:5px;"><img id="btnClose" src="images/Icon_ok_16x16.png"></img></span></div>'; }; var imagerenderer = function (row, datafield, value) { return '<img style="margin-left: 25px;margin-top: 12px;" src="' + value.replace("~/", "../../") + '"/>'; } var columnrenderer = function (value) { return '<div style="margin-left: 25px; margin-top: 5px;">' + value + '</div>'; }
$(“#jqxgrid”).jqxGrid(
{
width: 1425,
source: dataAdapter,
pageable: true,
autorowheight: true,
sortable: true,
altrows: true,
enabletooltips: true,
editable: true,
selectionmode: ‘multiplecellsadvanced’,
height: 650,
columns:
[
{ text: ‘Case ID’, datafield: ‘Number’, width: 100, cellsalign: ‘center’, renderer: columnrenderer },
{ text: ‘Prio’, datafield: ‘Prio’, width: 100, cellsrenderer: imagerenderer, renderer: columnrenderer },
{ text: ‘Subject’, datafield: ‘Subject’, width: 265 },
{ text: ‘Organization’, datafield: ‘Group’, width: 250 },
{ text: ‘Device’, datafield: ‘Device’, width: 150 },
{ text: ‘Status’, datafield: ‘Status’, width: 250, renderer: columnrenderer, cellsalign: ‘center’ },
{ text: ‘Reported’, datafield: ‘Reported’, width: 150, renderer: columnrenderer },
{ text: ‘Manage’, cellsrenderer: cellsrenderer, cellsalign: ‘center’, width: 180, editable: false }
]
});
}
else {
$(“#divErrors”).show();
$(‘#lblErrorHeader’).html(“Support case details cannot be displayed”);
$(‘#lblError’).html(“” + jsonData.MsgStatus.ResponseText);
}
}else if (jsonData.MsgStatus != undefined && jsonData.MsgStatus.ResponseCode != undefined) {
$(“#divErrors”).show();
$(‘#lblErrorHeader’).html(“Support case details cannot be displayed”);
$(‘#lblError’).html(“” + jsonData.MsgStatus.ResponseText);
}
}I need to get the row id to do the following process.
1. While clicking “btnEdit” it should navigate to another page & row id should be accessed in that page.
2. While clicking “btnDelete” in need to open popup & row id should be accessed in popup.
3. While clicking “btnClose” i should call the ajax function in same page.Hello latha,
Click functionality for elements generated through cellsrenderer can be added only with the JavaScript onclick event. The script realising the custom function has to be added inside the grid’s div.
Here is an example (based on the demo Image Column), implementing functionality #2:
<!DOCTYPE html> <html lang="en"> <head> <title id='Description'>This example shows how to use the Grid API to customize a column's rendering.</title> <link rel="stylesheet" href="../../jqwidgets/styles/jqx.base.css" type="text/css" /> <script type="text/javascript" src="../../scripts/jquery-1.10.2.min.js"></script> <script type="text/javascript" src="../../jqwidgets/jqxcore.js"></script> <script type="text/javascript" src="../../jqwidgets/jqxdata.js"></script> <script type="text/javascript" src="../../jqwidgets/jqxbuttons.js"></script> <script type="text/javascript" src="../../jqwidgets/jqxscrollbar.js"></script> <script type="text/javascript" src="../../jqwidgets/jqxlistbox.js"></script> <script type="text/javascript" src="../../jqwidgets/jqxdropdownlist.js"></script> <script type="text/javascript" src="../../jqwidgets/jqxmenu.js"></script> <script type="text/javascript" src="../../jqwidgets/jqxgrid.js"></script> <script type="text/javascript" src="../../jqwidgets/jqxgrid.pager.js"></script> <script type="text/javascript" src="../../jqwidgets/jqxgrid.selection.js"></script> <script type="text/javascript" src="../../jqwidgets/jqxwindow.js"></script> <script type="text/javascript" src="../../scripts/demos.js"></script> <script type="text/javascript"> $(document).ready(function () { var movies = new Array(); // Avatar movies[0] = { Image: 'avatar.png', Title: 'Avatar', Year: 2009 }; movies[1] = { Image: 'priest.png', Title: 'Priest', Year: 2006 }; movies[2] = { Image: 'endgame.png', Title: 'End Game', Year: 2006 }; movies[3] = { Image: 'unknown.png', Title: 'Unknown', Year: 2011 }; movies[4] = { Image: 'unstoppable.png', Title: 'Unstoppable', Year: 2010 }; movies[5] = { Image: 'twilight.png', Title: 'Twilight', Year: 2008 }; movies[6] = { Image: 'kungfupanda.png', Title: 'Kung Fu Panda', Year: 2008 }; movies[7] = { Image: 'knockout.png', Title: 'Knockout', Year: 2011 }; movies[8] = { Image: 'theplane.png', Title: 'The Plane', Year: 2010 }; movies[9] = { Image: 'bigdaddy.png', Title: 'Big Daddy', Year: 1999 }; var imagerenderer = function (row, datafield, value) { return '<img style="margin-left: 5px;" height="60" width="50" src="../../images/' + value + '" onclick="customFunction(' + row + ')"/>'; } var source = { localdata: movies, datatype: "array" }; var dataAdapter = new $.jqx.dataAdapter(source); // Create jqxGrid. $("#jqxgrid").jqxGrid( { width: 400, source: dataAdapter, rowsheight: 60, columns: [ { text: 'Image', datafield: 'Image', width: 60, cellsrenderer: imagerenderer }, { text: 'Title', datafield: 'Title', width: 200 }, { text: 'Year', datafield: 'Year' } ] }); $("#jqxwindow ").jqxWindow({ height: 90, width: 150, autoOpen: false }); }); </script> </head> <body class='default'> <div id='jqxWidget' style="font-size: 13px; font-family: Verdana; float: left;"> <div id="jqxgrid"> <script type="text/javascript"> var customFunction = function (row) { $("#row").text(row); $("#jqxwindow").jqxWindow("open"); }; </script> </div> <div id='jqxwindow'> <div> Header</div> <div> You have clicked image number <span id="row"></span>.</div> </div> </div> </body> </html>
As for functionality #1 – if the page is external, you may only pass the row index in the URL of the page (as a part of the path, query or fragment name).
Best Regards,
DimitarjQWidgets team
http://www.jqwidgets.com/Hi Dimitar
Thanks for your valuable reply.I will try and let you the result.
Thanks & Regards
Latha S -
AuthorPosts
You must be logged in to reply to this topic.