Hi,
Problem with cell editing, datagrid-cellediting plugin. After editing cell, cell background became blue . Trying to put chars in filter box, in open again editor in just edited cell and chars goes here ...
I'm trying with remote database and datagrid is with 3 plugins :
<script src="jeasy/jquery.min.js"></script>
<script src="jeasy/jquery.easyui.min.js"></script>
<script src="jeasy/datagrid-filter.js"></script>
<script src="jeasy/datagrid-scrollview.js"></script>
<script src="jeasy/datagrid-cellediting.js"></scrip>
<script id="script-lang" src="jeasy/locale/easyui-lang-lt.js"></script>
<script src="jsf/func.js"></script>
<script src="jsf/grd.js"></script>
I'm using only 'onAfterEditing' event :
this.create_grid = function() // "this" here - created own object storing info about grid columns and own parameters ...
{
var obj = this;
var ret =
{
fit : true,
idField : this.pagr_rakt,
columns : [ this.grid_stulp ],
toolbar : [
{
id : 'naujas',
text : 'Naujas',
iconCls: "icon-add",
plain : true,
handler: function(){ $.messager.alert( "naujas" ); } //$( '#dg' ).datagrid( 'addRow' ) }
},
{
id : 'salint',
text : 'Šalinti',
iconCls: "icon-remove",
plain : true,
handler: function(){ $.messager.alert( "salinti" ); }
},
{
id : 'saugot',
text : 'Išsaugoti',
iconCls: "icon-save",
plain : true,
handler: function(){ $.messager.alert( "issaugoti" ); }
},
{
id : 'atmesti',
text : 'Atmesti',
iconCls: "icon-undo",
plain : true,
handler: function(){ $.messager.alert( "atmesti" ); }
}],
view : scrollview,
striped : true,
pagination : false,
pageSize : this.pusl_dyd,
singleSelect : false,
autoRowHeight : false,
remoteFilter : true,
remoteSort : true,
multiSort : true,
clickToEdit : false,
dblclickToEdit: true ,
url : format_url( this, "get" ),
onAfterEdit : function( index, row, changes )
{
cell_update( index, row, changes, obj, this );
}
}
return ret;
}
function cell_update:
function cell_update( index, row, changes, obj, dg )
{
var laukai = Object.keys( changes );
var laukas = laukai[ 0 ];
var reiksm = changes[ laukas ];
var snd = "phpf/" + obj.grid_url + "?tbl=" + obj.pagr_lent + "&idf=" + obj.pagr_rakt + "&idk=" + row[ obj.pagr_rakt ] + "&cmd=upd&lks=" + laukas + "&var=" + reiksm +
"&fld=" + obj.lauku_eil + ( obj.rysio_eil ? "&jon=" + obj.rysio_eil : "" ); // update query to php ...
var ret = ajax_get( snd );
if ( ret.status != 'success' )
alert( ret.message );
else
{
var upd = 0; // check if other related field updated or not
var rec = ret.rows;
for ( var u in obj.grid_stulp )
{
var lks = obj.grid_stulp[ u ].field;
if ( rec[ 0 ][ lks ] != row[ lks ] )
{
row[ lks ] = rec[ 0 ][ lks ];
upd ++;
}
}
if ( upd > 0 ) // if returned record differs from existing row - update
dg.datagrid( 'updateRow', { index: index, row: row } );
}
}
At first I thinked that this cell update is related to typing for filters ..., but disabling "onAfterEdit" nothing changed, the same problem ...
How to solve that conflict between filter and cells editors ?
Many thanks in advance ...