jQWidgets Forums
Forum Replies Created
-
Author
-
June 4, 2015 at 8:36 am in reply to: Server side column validation? Server side column validation? #72009
Hi Peter,
Thanks..
but how we can make row editable in updaterow method, if error occur in ajax call.`updaterow: function (rowid, rowData, commit) {
if (flag == true) {
commit(true);
} else {
$(“#jqxgrid”).jqxGrid(‘beginrowedit’, rowid); //here we dont have row number, rowid not working.
commit(false);
}
},June 4, 2015 at 5:03 am in reply to: Server side column validation? Server side column validation? #71985Hi victor,
i have command button(Edit) in my grid and when click on that button row become editable. I make ajax call to update row in db and some reason this ajax call fails. i want this row in edit mode and show validation failure msg near that column.
Is it possible??Please refer following js fiddle link.
<li>http://jsfiddle.net/chaitanya21/vfms29ma/10/</li>
May 28, 2015 at 10:43 am in reply to: Grid with command(Edit,Save,Cancel) button Grid with command(Edit,Save,Cancel) button #71724Hi Dimitar,
Thanks for ur support.
Still, i have facing some minor issue in grid.
–> Tab button is not working to navigate from one column to another.
–> Checkbox issue in editor mode.
–> Click on the grid if grid is in edit mode, row become non editable but button cancel and update visible.
–> is it possible that when row become editable, disable filter?? $(‘#jqxGrid’).jqxGrid({ filterable: true}); make visible true and false. i want disbale means it should be visible but filtering off.Please help.
Please check jsfiddle link for grid Jsfiddle link
hi Dimitar,
Sorry yaar. i tried lot but not getting output. I dont know anything about jquery and javascript.
I am just doing copy and paste from examples.{ text: 'Status', datafield: 'status', filtertype: 'checkedlist', width: "20%", cellsrenderer: function (row, column, value) { if(value==true){ return "Active"; } else{ return "Inactive"; } }, createeditor: function (row, cellvalue, editor, cellText, width, height) { element.jqxCheckBox({checked: cellvalue}); }, initeditor: function (row, cellvalue, editor, celltext) { element.jqxCheckBox({ checked: cellvalue}); }, geteditorvalue: function (row, cellvalue, editor) { return editor.val(); } },
May 12, 2015 at 4:44 pm in reply to: Grid with command(Edit,Save,Cancel) button Grid with command(Edit,Save,Cancel) button #71020Hi Dimitar,
Thank you very much. Finally i got grid structure which i was looking.
But still auto focus on first cell is not resolved. and
On cancel and edit click, updaterow function is called. On edit i have to make ajax call. On cancel i have to reset row details. but how i will know cancel button/ edit button press in updaterow function.May 11, 2015 at 9:21 am in reply to: Grid with command(Edit,Save,Cancel) button Grid with command(Edit,Save,Cancel) button #70921Hi Dimitar,
<!DOCTYPE html> <html lang=”en”> <%@ taglib prefix=”form” uri=”http://www.springframework.org/tags/form”%> <%@ taglib prefix=”spring” uri=”http://www.springframework.org/tags”%> <head> <title>Department Master</title> <link rel=”stylesheet” href=<spring:url value=”/jqwidgets/styles/jqx.base.css”/> type=”text/css” /> <script type=”text/javascript” src=<spring:url value=”/scripts/jquery-1.11.1.min.js”/> ></script> <script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxcore.js”/> ></script> <script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxdata.js”/>></script> <script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxbuttons.js”/>></script> <script type=”text/javascript” src=”<spring:url value=”/jqwidgets/jqxtooltip.js”/>”></script> <script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxscrollbar.js”/>></script> <script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxmenu.js”/>></script> <script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxgrid.js”/>></script> <script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxgrid.edit.js”/>></script> <script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxgrid.selection.js”/>></script> <script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxlistbox.js”/>></script> <script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxdropdownlist.js”/>></script> <script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxcheckbox.js”/>></script> <script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxcalendar.js”/>></script> <script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxnumberinput.js”/>></script> <script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxdatetimeinput.js”/>></script> <script type=”text/javascript” src=<spring:url value=”/jqwidgets/globalization/globalize.js”/>></script> <script type=”text/javascript” src=”<spring:url value=”/scripts/demos.js”/>”></script> <script type=”text/javascript”> var that = this; $(document).ready(function () { // prepare the data var data = ‘${departmentList}’; var source = { localdata: data, datatype: “json”, updaterow: function (rowid, rowdata, commit) { alert(“update”+rowdata.departmentId) // 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 failder. // rowdata.departmentId=101; commit(true); }, dataFields: [ { name: 'departmentId', type: 'int' }, { name: 'departmentName', type: 'string' }, { name: 'status', type: 'bool' } ] }; this.editrow = -1; var dataAdapter = new $.jqx.dataAdapter(source, { loadComplete: function () { // data is loaded. } }); // initialize jqxGrid $(“#jqxgrid”).jqxGrid( { width: ’50%’, height: ’50%’, source: dataAdapter, editable: true, rowsheight: 34, selectionmode: ‘none’, editmode: ‘selectedrow’, altRows: true, showToolbar: true, renderToolbar: function(toolBar) { var toTheme = function (className) { if (theme == “”) return className; return className + ” ” + className + “-” + theme; } // appends buttons to the status bar. var container = $(“<div style=’overflow: hidden; position: relative; height: 100%; width: 100%;’></div>”); var buttonTemplate = “<div style=’float: left; padding: 3px; margin: 2px;’><div style=’margin: 4px; width: 16px; height: 16px;’></div></div>”; var addButton = $(buttonTemplate); container.append(addButton); toolBar.append(container); addButton.jqxButton({cursor: “pointer”, enableDefault: false, height: 25, width: 25 }); addButton.find(‘div:first’).addClass(toTheme(‘jqx-icon-plus’)); addButton.jqxTooltip({ position: ‘bottom’, content: “Add”}); addButton.click(function (event) { if (!addButton.jqxButton(‘disabled’)) { that.editrow = 0; // add new empty row. $(“#jqxgrid”).jqxGrid(‘addRow’, null, {}, ‘first’); // select the first row and clear the selection. $(“#jqxgrid”).jqxGrid(‘clearSelection’); $(“#jqxgrid”).jqxGrid(‘selectRow’, 0); // edit the new row. $(“#jqxgrid”).jqxGrid(‘beginRowEdit’, 0); updateButtons(‘add’); } }); }, pagerButtonsCount: 8, columns: [ { text: 'Department Id', columntype: 'textbox', editable:false, datafield: 'departmentId', width: "20%" }, { text: 'Department Name', datafield: 'departmentName', columntype: 'textbox', width: "20%" }, { text: 'Status', datafield: 'status', columntype: 'checkbox', width: "20%" }, { text: 'Edit', align: "center", editable: false, sortable: false, datafield: '', cellsrenderer: function (row, column, value) { var eventName = "onclick"; if (row === that.editrow) { //return "<div style='text-align: center; width: 100%; top: 7px; position: relative;'>Update<span style=''>/</span>" + "Cancel</div>"; return "<button " + eventName + "='Update(" + row + ", event)' style='color: inherit; margin-left: 40%; left: -15px; top: 7px; position: relative;' data-row='" + row + "'>Update</button><button " + eventName + "='Cancel(" + row + ", event)' style='margin-left: 5px; left: -15px; top: 7px; position: relative;' data-row='" + row + "'>Cancel</button>"; } //return "Edit"; return "<button "+ eventName + "='Edit(" + row + ", event)' style='color: inherit; margin-left: 50%; left: -15px; top: 7px; position: relative;' data-row='" + row + "' class='editButtons'>Edit</button>"; } } ] }); }); </script> <script type=”text/javascript”> function Edit(row, event) { that.editrow = row; $(“#jqxgrid”).jqxGrid(‘beginrowedit’, row); if (event) { if (event.preventDefault) { event.preventDefault(); } } return false; } function Update(row, event) { that.editrow = -1; $(“#jqxgrid”).jqxGrid(‘endrowedit’, row); if (event) { if (event.preventDefault) { event.preventDefault(); } } return false; } function Cancel(row, event) { that.editrow = -1; $(“#jqxgrid”).jqxGrid(‘endrowedit’, row, true); var value = $(“#jqxgrid”).jqxGrid(‘getCellValue’, row, ‘departmentId’); if(value==null){ $(“#jqxgrid”).jqxGrid(‘deleteRow’, row); } if (event) { if (event.preventDefault) { event.preventDefault(); } } return false; } </script> </head> <body class=’default’> <div id=”jqxgrid”></div> </body> </html>
May 9, 2015 at 7:39 am in reply to: Grid with command(Edit,Save,Cancel) button Grid with command(Edit,Save,Cancel) button #70871Hi Dimitar,
Thanks for ur reply. I have inner command button(Editing Example Mobile Demo) and tooltips having add button.
On click tooltips add button, new empty row at 0 index is added. This record is not yet saved in db so department id in null. At that point if user click on cancel button which is at inner row, row should get deleted.
This point issue occuring:
When click cancel button: Source updateRow function is called(Dont know why this happening), which should not called. May be because of this, row get delete(code for this have written in cancle function.), but row at index 1 become empty.
And, As u said cursor automatically come in full row edit mode. but it is not happening.
<!DOCTYPE html>
<html lang=”en”>
<%@ taglib prefix=”form” uri=”http://www.springframework.org/tags/form”%>
<%@ taglib prefix=”spring” uri=”http://www.springframework.org/tags”%>
<head>
<title>Department Master</title>
<link rel=”stylesheet” href=<spring:url value=”/jqwidgets/styles/jqx.base.css”/> type=”text/css” />
<script type=”text/javascript” src=<spring:url value=”/scripts/jquery-1.11.1.min.js”/> ></script>
<script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxcore.js”/> ></script>
<script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxdata.js”/>></script>
<script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxbuttons.js”/>></script>
<script type=”text/javascript” src=”<spring:url value=”/jqwidgets/jqxtooltip.js”/>”></script>
<script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxscrollbar.js”/>></script>
<script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxmenu.js”/>></script>
<script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxgrid.js”/>></script>
<script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxgrid.edit.js”/>></script>
<script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxgrid.selection.js”/>></script>
<script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxlistbox.js”/>></script>
<script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxdropdownlist.js”/>></script>
<script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxcheckbox.js”/>></script>
<script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxcalendar.js”/>></script>
<script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxnumberinput.js”/>></script>
<script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxdatetimeinput.js”/>></script>
<script type=”text/javascript” src=<spring:url value=”/jqwidgets/globalization/globalize.js”/>></script>
<script type=”text/javascript” src=”<spring:url value=”/scripts/demos.js”/>”></script>
<script type=”text/javascript”>
var that = this;
$(document).ready(function () {
// prepare the data
var data = ‘${departmentList}’;
var source =
{
localdata: data,
datatype: “json”,
updaterow: function (rowid, rowdata, commit) {
alert(“update”+rowdata.departmentId)
// 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 failder.
// rowdata.departmentId=101;
commit(true);
},
dataFields: [
{ name: ‘departmentId’, type: ‘int’ },
{ name: ‘departmentName’, type: ‘string’ },
{ name: ‘status’, type: ‘bool’ }
]
};
this.editrow = -1;
var dataAdapter = new $.jqx.dataAdapter(source, {
loadComplete: function () {
// data is loaded.
}
});
// initialize jqxGrid
$(“#jqxgrid”).jqxGrid(
{
width: ‘50%’,
height: ‘50%’,
source: dataAdapter,
editable: true,
rowsheight: 34,
selectionmode: ‘none’,
editmode: ‘selectedrow’,
altRows: true,
showToolbar: true,
renderToolbar: function(toolBar)
{
var toTheme = function (className) {
if (theme == “”) return className;
return className + ” ” + className + “-” + theme;
}
// appends buttons to the status bar.
var container = $(“<div style=’overflow: hidden; position: relative; height: 100%; width: 100%;’></div>”);
var buttonTemplate = “<div style=’float: left; padding: 3px; margin: 2px;’><div style=’margin: 4px; width: 16px; height: 16px;’></div></div>”;
var addButton = $(buttonTemplate);
container.append(addButton);
toolBar.append(container);
addButton.jqxButton({cursor: “pointer”, enableDefault: false, height: 25, width: 25 });
addButton.find(‘div:first’).addClass(toTheme(‘jqx-icon-plus’));
addButton.jqxTooltip({ position: ‘bottom’, content: “Add”});addButton.click(function (event) {
if (!addButton.jqxButton(‘disabled’)) {
that.editrow = 0;
// add new empty row.
$(“#jqxgrid”).jqxGrid(‘addRow’, null, {}, ‘first’);
// select the first row and clear the selection.
$(“#jqxgrid”).jqxGrid(‘clearSelection’);
$(“#jqxgrid”).jqxGrid(‘selectRow’, 0);
// edit the new row.
$(“#jqxgrid”).jqxGrid(‘beginRowEdit’, 0);
updateButtons(‘add’);}
});
},
pagerButtonsCount: 8,
columns: [
{ text: ‘Department Id’, columntype: ‘textbox’, editable:false, datafield: ‘departmentId’, width: “20%” },
{ text: ‘Department Name’, datafield: ‘departmentName’, columntype: ‘textbox’, width: “20%” },
{ text: ‘Status’, datafield: ‘status’, columntype: ‘checkbox’, width: “20%” },
{
text: ‘Edit’, align: “center”, editable: false, sortable: false, datafield: ”, cellsrenderer: function (row, column, value) {
var eventName = “onclick”;
if (row === that.editrow) {
//return “<div style=’text-align: center; width: 100%; top: 7px; position: relative;’>Update<span style=”>/</span>” + “Cancel</div>”;
return “<button ” + eventName + “=’Update(” + row + “, event)’ style=’color: inherit; margin-left: 40%; left: -15px; top: 7px; position: relative;’ data-row='” + row + “‘>Update</button><button ” + eventName + “=’Cancel(” + row + “, event)’ style=’margin-left: 5px; left: -15px; top: 7px; position: relative;’ data-row='” + row + “‘>Cancel</button>”;
}
//return “Edit“;
return “<button “+ eventName + “=’Edit(” + row + “, event)’ style=’color: inherit; margin-left: 50%; left: -15px; top: 7px; position: relative;’ data-row='” + row + “‘ class=’editButtons’>Edit</button>”;
}
}
]
});});
</script>
<script type=”text/javascript”>
function Edit(row, event) {
that.editrow = row;
$(“#jqxgrid”).jqxGrid(‘beginrowedit’, row);
if (event) {
if (event.preventDefault) {
event.preventDefault();
}
}
return false;
}
function Update(row, event) {
that.editrow = -1;
$(“#jqxgrid”).jqxGrid(‘endrowedit’, row);
if (event) {
if (event.preventDefault) {
event.preventDefault();
}
}
return false;
}
function Cancel(row, event) {
that.editrow = -1;
$(“#jqxgrid”).jqxGrid(‘endrowedit’, row, true);
var value = $(“#jqxgrid”).jqxGrid(‘getCellValue’, row, ‘departmentId’);
if(value==null){
$(“#jqxgrid”).jqxGrid(‘deleteRow’, row);}
if (event) {
if (event.preventDefault) {
event.preventDefault();
}
}return false;
}
</script>
</head>
<body class=’default’>
<div id=”jqxgrid”></div></body>
</html>May 6, 2015 at 1:18 pm in reply to: Grid with command(Edit,Save,Cancel) button Grid with command(Edit,Save,Cancel) button #70715Hello,
Thanks.. i used this example. but
When row is in edit mode and click outside of grid, row become non editable and still update/cancel link is visible.(This is also happening in your example)
Also by clicking edit button, focus should be 1st column. How to do this.There is command button example in DataTable and TreeGrid but why not in grid???
May 1, 2015 at 11:57 am in reply to: hiperlink at renderer and checkbox at editor in datatable hiperlink at renderer and checkbox at editor in datatable #70523hi,
Can u help me create grid with command button. I have taken reference from above link which have provided..
but it not working.`<!DOCTYPE html>
<html lang=”en”>
<%@ taglib prefix=”form” uri=”http://www.springframework.org/tags/form”%>
<%@ taglib prefix=”spring” uri=”http://www.springframework.org/tags”%>
<head>
<title id=’Description’>In order to enter in edit mode, select a grid row, then “Click” or press the “F2” key. To cancel the editing, press the “Esc” key. To save
the changes press the “Enter” key or select another Grid row.</title>
<link rel=”stylesheet” href=<spring:url value=”/jqwidgets/styles/jqx.base.css”/> type=”text/css” />
<script type=”text/javascript” src=<spring:url value=”/scripts/jquery-1.11.1.min.js”/> ></script>
<script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxcore.js”/> ></script>
<script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxdata.js”/>></script>
<script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxbuttons.js”/>></script>
<script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxscrollbar.js”/>></script>
<script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxmenu.js”/>></script>
<script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxgrid.js”/>></script>
<script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxgrid.edit.js”/>></script>
<script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxgrid.selection.js”/>></script>
<script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxlistbox.js”/>></script>
<script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxdropdownlist.js”/>></script>
<script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxcheckbox.js”/>></script>
<script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxcalendar.js”/>></script>
<script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxnumberinput.js”/>></script>
<script type=”text/javascript” src=<spring:url value=”/jqwidgets/jqxdatetimeinput.js”/>></script>
<script type=”text/javascript” src=<spring:url value=”/jqwidgets/globalization/globalize.js”/>></script>
<script type=”text/javascript” src=<spring:url value=”/scripts/demos.js”/>></script>
<script type=”text/javascript”>
$(document).ready(function () {
// prepare the data
var data = ‘${departmentList}’;
var source =
{
localdata: data,
datatype: “json”,
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 failder.
commit(true);
},
dataFields: [
{ name: ‘departmentId’, type: ‘int’ },
{ name: ‘departmentName’, type: ‘string’ },
{ name: ‘status’, type: ‘bool’ }
]
};
var dataAdapter = new $.jqx.dataAdapter(source);
// initialize jqxGrid
$(“#jqxgrid”).jqxGrid(
{
width: 850,
source: dataAdapter,
editable: true,
selectionmode: ‘singlerow’,
// editmode: ‘selectedrow’,
// editSettings: { saveOnPageChange: true, saveOnBlur: true, saveOnSelectionChange: false, cancelOnEsc: true, saveOnEnter: true, editOnDoubleClick: false, editOnF2: false },
/*rendering: function()
{
alert(“rendering”)
// destroys all buttons.
if ($(“.editButtons”).length > 0) {
$(“.editButtons”).jqxButton(‘destroy’);
}
if ($(“.cancelButtons”).length > 0) {
$(“.cancelButtons”).jqxButton(‘destroy’);
}
},*/ Not availablle in grid so that commented
// called when jqxDataTable is going to be rendered.rendered: function () {
alert(“rendere”)
if ($(“.editButtons”).length > 0) {
$(“.cancelButtons”).jqxButton();
$(“.editButtons”).jqxButton();var editClick = function (event) {
var target = $(event.target);
// get button’s value.
var value = target.val();
// get clicked row.
var rowIndex = parseInt(event.target.getAttribute(‘data-row’));
if (isNaN(rowIndex)) {
return;
}
if (value == “Edit”) {
// begin edit.
target.parent().find(‘.cancelButtons’).show();
target.val(“Save”);
$(“#jqxgrid”).jqxGrid(‘beginRowEdit’, rowIndex);
}
else {
// end edit and save changes.
target.parent().find(‘.cancelButtons’).hide();
target.val(“Edit”);
$(“#jqxgrid”).jqxGrid(‘endRowEdit’, rowIndex);
}
}
$(“.editButtons”).on(‘click’, function (event) {
editClick(event);
});$(“.cancelButtons”).click(function (event) {
// end edit and cancel changes.
var rowIndex = parseInt(event.target.getAttribute(‘data-row’));
if (isNaN(rowIndex)) {
return;
}
$(“#jqxgrid”).jqxGrid(‘endRowEdit’, rowIndex, true);
});
}
},
pagerButtonsCount: 8,
columns: [
{ text: ‘Department Id’, columntype: ‘textbox’, datafield: ‘departmentId’, width: 80 },
{ text: ‘Department Name’, datafield: ‘departmentName’, columntype: ‘textbox’, width: 80 },
{ text: ‘Status’, columntype: ‘checkbox’, datafield: ‘status’, width: 195 },
{
text: ‘Edit’, cellsAlign: ‘center’, align: “center”, columnType: ‘none’, editable: false, sortable: false, dataField: null, cellsRenderer: function (row, column, value) {
// render custom column.
return “<button data-row='” + row + “‘ class=’editButtons’>Edit</button><button style=’display: none; margin-left: 5px;’ data-row='” + row + “‘ class=’cancelButtons’>Cancel</button>”;
}
}]
});});
</script>
</head>
<body class=’default’>
<div id=”jqxgrid”></div></body>
</html>April 29, 2015 at 7:01 am in reply to: hiperlink at renderer and checkbox at editor in datatable hiperlink at renderer and checkbox at editor in datatable #70406hi,,
i have seen this example and i have made above code by customizing this example.
but the problem is that datatable does not support checkbox and html component(Not confirm).
so i need checkbox at editor not at a time of rendering.
so can u help me to get above example in grid. -
AuthorPosts