editable
property to true. When editable
is set to true, end-users can edit a row's data after double-clicking on it or pressing the F2
key.editSettings
property configures the editing behavior of the widget.editSettings
object is:
{ saveOnPageChange: true, saveOnBlur: true, saveOnSelectionChange: true, cancelOnEsc: true, saveOnEnter: true, editOnDoubleClick: true, editOnF2: true }
ESC
key is pressed.
ENTER
key is pressed.
F2
key is pressed.
editSettings
property.
$('#treeGrid').jqxTreeGrid( { editSettings: { saveOnPageChange: true, saveOnBlur: true, saveOnSelectionChange: false, cancelOnEsc: true, saveOnEnter: true, editOnDoubleClick: true, editOnF2: true } });
beginRowEdit
method. The parameter that you need to pass when you call the method is the Row's ID/Key.
$("#treeGrid").jqxTreeGrid('beginRowEdit', 'ALFKI');The
endRowEdit
ends the editing and saves or cancels the changes. The method has two parameters - Row's ID/Key and a Boolean parameter which specifies whether the changes are saved or not.
$("#treeGrid").jqxTreeGrid('endRowEdit', 'ALFKI');
Invoke the endRowEdit
method and cancel changes.
$("#treeGrid").jqxTreeGrid('endRowEdit', 'ALFKI', true);The
lockRow
and unlockRow
methods are useful in case you wish to disable the editing of a particular row. The parameter that you need to pass when you call any of these methods is the Row's ID/Key.
validation
callback function. The function has two parameters - edit cell(Object with the following fields: datafield, displayfield, row and value, where row is the edit row's ID/Key) and the cell's value. The function should return
true
or false
, depending on the implemented validation logic. It can also return a validation object with two fields - result
- true
or false
, and message
- validation string displayed to the users.
$("#treeGrid").jqxTreeGrid( { source: dataAdapter, editable: true, columns: [ { text: 'ID', editable: false, columnType: 'none', dataField: 'id', width: 100 }, { text: 'Name', dataField: 'name', width: 220, validation: function (cell, value) { if (value.toString().length < 4) { return { message: "Name should be minimum 4 characters", result: false }; } return true; } }, { text: 'Budget', align: 'right', cellsAlign: 'right', cellsFormat: 'c2', dataField: 'budget', width: 200, validation: function (cell, value) { if (parseInt(value) < 0 || parseInt(value) > 1300000 || value == "") { return { message: "Budget should be in the 0-1 300 000 interval", result: false }; } return true; } } ] });
updateRow
method can be used for updating the data of entire row.
$("#treeGrid").jqxTreeGrid('updateRow', rowKey, rowData);The
addRow
method can be used for adding a new row to the TreeGrid.
$("#treeGrid").jqxTreeGrid('addRow', null, {}, 'first', rowKey);
addRow
parameters:
deleteRow
method can be used for deleting a row from the TreeGrid.
$("#treeGrid").jqxTreeGrid('deleteRow', rowKey);When you call
addRow
, deleteRow
or updateRow
methods, the TreeGrid source object's addRow
, deleteRow
or updateRow
would be called as well.
// prepare the data var source = { dataType: "tab", dataFields: [ { name: "Id", type: "number" }, { name: "Name", type: "string" }, { name: "ParentID", type: "number" }, { name: "Population", type: "number" } ], hierarchy: { keyDataField: { name: 'Id' }, parentDataField: { name: 'ParentID' } }, id: 'Id', url: '../sampledata/locations.tsv', addRow: function (rowID, rowData, position, parentID, commit) { // synchronize with the server - send insert command // call commit with parameter true if the synchronization with the server is successful // and with parameter false if the synchronization failed. // you can pass additional argument to the commit callback which represents the new ID if it is generated from a DB. commit(true); }, updateRow: function (rowID, rowData, commit) { // synchronize with the server - send update command // call commit with parameter true if the synchronization with the server is successful // and with parameter false if the synchronization failed. commit(true); }, deleteRow: function (rowID, commit) { // synchronize with the server - send delete command // call commit with parameter true if the synchronization with the server is successful // and with parameter false if the synchronization failed. commit(true); } };