Available in the Full Version
Data Grid - Row Edit Dialog
This sample uses CTP (Community Technical Preview) features. The API and behavior may change when these features are released with full support.
This sample is designed for a larger screen size.
On mobile, try rotating your screen, view full size, or email to another device.
This sample demonstrates the Row Edit Dialog functionality of Updating feature in the igGrid. Row Edit Dialog provides the ability to be customized using two types of templates: editorsTemplate and dialogTemplate.
The editorsTemplate is executed for each column in the grid's column collection, while the dialogTemplate is rendered against the currently edited record.
In order to show the Row Edit Dialog you need to click or tap on a row to pop-it up.
Code View
Copy to Clipboard
<!DOCTYPE html> <html> <head> <title></title> <!-- Ignite UI for jQuery Required Combined CSS Files --> <link href="http://cdn-na.infragistics.com/igniteui/2024.1/latest/css/themes/infragistics/infragistics.theme.css" rel="stylesheet" /> <link href="http://cdn-na.infragistics.com/igniteui/2024.1/latest/css/structure/infragistics.css" rel="stylesheet" /> <style> .row-edit-dialog-container-cols { width:100%; overflow:hidden; border-bottom:1px solid #ccc; padding-bottom:15px; } .row-edit-dialog-container-cols table { width: 100%; border-collapse: collapse; } .row-edit-dialog-container-cols table tbody td { border:none !important; padding: 0 4px 10px; } .row-edit-dialog-container-head { border-bottom:1px solid #ccc;padding-bottom:10px;margin-top:10px;margin-bottom:25px;font-size:16px; } .ui-dialog .ui-dialog-buttonpane { margin-top:0; padding-top:0; } .ui-dialog .ui-dialog-buttonpane button { margin:0.5em 0 0.5em 0.4em; } .ui-iggrid .ui-widget-content.ui-dialog { border-color:#888; } .ui-dialog-title { text-transform:uppercase; margin:0; font-size:90%; } .ui-dialog .ui-dialog-titlebar { padding: 0.7em 1em; } </style> <script src="http://ajax.aspnetcdn.com/ajax/modernizr/modernizr-2.8.3.js"></script> <script src="http://code.jquery.com/jquery-1.11.3.min.js"></script> <script src="http://code.jquery.com/ui/1.11.1/jquery-ui.min.js"></script> <!-- Ignite UI for jQuery Required Combined JavaScript Files --> <script src="http://cdn-na.infragistics.com/igniteui/2024.1/latest/js/infragistics.core.js"></script> <script src="http://cdn-na.infragistics.com/igniteui/2024.1/latest/js/infragistics.lob.js"></script> </head> <body> <!--Sample JSON Data--> <script src="/data-files/nw-employees.js"></script> <!-- Target element for the igGrid --> <table id="grid"> </table> <script id="dialogTemplate" type="text/html"> <div class="row-edit-dialog-container-head"><strong>${Name}</strong></div> <div class="row-edit-dialog-container-cols"> <div style="float: left;"> <table> <colgroup> <col style="width: 30%;" /> <col style="width: 70%;" /> </colgroup> <tbody data-render-tmpl="true"></tbody> </table> </div> <div style="width: 160px; float: right;"> <img width="100" height="90" src="${ImageUrl}" alt="${Name}" title="${Name}" style="float:right;" /> </div> </div> </script> <script id="editorsTemplate" type="text/html"> <tr> <td style="text-align:right;color:#777;"><strong>${headerText}</strong></td> <td><input data-editor-for-${key}="true" /></td> </tr> </script> <script type="text/javascript"> $( function () { $("#grid").igGrid({ dataSource: northwindEmployees, primaryKey: "ID", width: "100%", height: "600px", autoGenerateColumns: false, columns: [ { headerText: "Employee ID", key: "ID", dataType: "number", hidden: true }, { headerText: "Image", key: "ImageUrl", dataType: "object", template: "<img width='100' height='90' src='${ImageUrl}' alt='${Name}' title='${Name}' />" }, { headerText: "Name", key: "Name", dataType: "string" }, { headerText: "Title", key: "Title", dataType: "string" }, { headerText: "Phone", key: "Phone", dataType: "string" }, { headerText: "HireDate", key: "HireDate", dataType: "date" } ], features: [ { name: "Updating", enableAddRow: false, enableDeleteRow: false, editMode: "dialog", columnSettings: [ { columnKey: "ImageUrl", readOnly: true }, { columnKey: "Name", readOnly: true } ], rowEditDialogOptions: { width: "530px", height: "410px", dialogTemplateSelector: "#dialogTemplate", editorsTemplateSelector: "#editorsTemplate", showReadonlyEditors: false, } } ] }); }); </script> </body> </html>
var northwindEmployees = [ { "ID": 1, "Name": "Davolio, Nancy", "Title": "Sales Representative", "ImageUrl": "../../images/samples/nw/employees/1.png", "Phone": "(206) 555-9857", "PhoneUrl": "tel:(206) 555-9857", "BirthDate":"1948-12-08T00:00:00", "HireDate":"1992-05-01T00:00:00", "Country": "USA", "Languages": [{ name: "English" }, { name: "Russian" }] }, { "ID": 2, "Name": "Fuller, Andrew", "Title": "Vice President, Sales", "ImageUrl": "../../images/samples/nw/employees/2.png", "Phone": "(206) 555-9482", "PhoneUrl": "tel:(206) 555-9482", "BirthDate":"1952-02-19T00:00:00", "HireDate":"1992-08-14T00:00:00", "Country": "USA", "Languages": [{ name: "English" }, { name: "German" }] }, { "ID": 3, "Name": "Leverling, Janet", "Title": "Sales Representative", "ImageUrl": "../../images/samples/nw/employees/3.png", "Phone": "(206) 555-3412", "PhoneUrl": "tel:(206) 555-3412", "BirthDate":"1963-08-30T00:00:00Z", "HireDate":"1992-04-01T00:00:00Z", "Country": "USA", "Languages": [{ name: "English" }] }, { "ID": 4, "Name": "Peacock, Margaret", "Title": "Sales Representative", "ImageUrl": "../../images/samples/nw/employees/4.png", "Phone": "(206) 555-8122", "PhoneUrl": "tel:(206) 555-8122", "BirthDate":"1937-09-19T00:00:00Z","HireDate":"1993-05-03T00:00:00Z", "Country": "USA", "Languages": [{ name: "English" }, { name: "Spanish" }] }, { "ID": 5, "Name": "Buchanan, Steven", "Title": "Sales Manager", "ImageUrl": "../../images/samples/nw/employees/5.png", "Phone": "(71) 555-4848", "PhoneUrl": "tel:(71) 555-4848", "BirthDate":"1955-03-04T00:00:00Z","HireDate":"1993-10-17T00:00:00Z", "Country": "UK", "Languages": [{ name: "English" }, { name: "Italian" }] }, { "ID": 6, "Name": "Suyama, Michael", "Title": "Sales Representative", "ImageUrl": "../../images/samples/nw/employees/6.png", "Phone": "(71) 555-7773", "PhoneUrl": "tel:(71) 555-7773","BirthDate":"1963-07-02T00:00:00Z","HireDate":"1993-10-17T00:00:00Z", "Country": "UK", "Languages": [{ name: "English" }, { name: "Portuguese" }] }, { "ID": 7, "Name": "King, Robert", "Title": "Sales Representative", "ImageUrl": "../../images/samples/nw/employees/7.png", "Phone": "(71) 555-5598", "PhoneUrl": "tel:(71) 555-5598", "BirthDate":"1960-05-29T00:00:00Z","HireDate":"1994-01-02T00:00:00Z", "Country": "UK", "Languages": [{ name: "English" }, { name: "French" }, { name: "Spanish" }] }, { "ID": 8, "Name": "Callahan, Laura", "Title": "Inside Sales Coordinator", "ImageUrl": "../../images/samples/nw/employees/8.png", "Phone": "(206) 555-1189", "PhoneUrl": "tel:(206) 555-1189","BirthDate":"1958-01-09T00:00:00Z","HireDate":"1994-03-05T00:00:00Z", "Country": "USA", "Languages": [ { name: "English" }, { name: "Mandarin" }] }, { "ID": 9, "Name": "Dodsworth, Anne", "Title": "Sales Representative", "ImageUrl": "../../images/samples/nw/employees/9.png", "Phone": "(71) 555-4444", "PhoneUrl": "tel:(71) 555-4444", "BirthDate":"1966-01-27T00:00:00Z","HireDate":"1994-11-15T00:00:00Z", "Country": "UK", "Languages": [{ name: "English" }, { name: "Japanese" }] } ]