Hi, can somebody help me
i have problem with inline editing on datagrid, in my design i take a combogrid and some textbox at datagrid, i have plan to update my textbox with data on selection event combogrid. i successfully when update my first row data but when i fill second row data, my first row data also change with my second row data.
here my code for datagrid design:
<table id="dg2" title="" style="width:700px;height:250px"
toolbar="#toolbar" data-options="singleSelect:false,pageList:[100],pageSize:100" pagination="false" idField="trandetailid"
rownumbers="true" fitColumns="true" >
<thead>
<tr>
<th field="card_no" width="50" editor="{type:'combogrid',options:{required:true,panelWidth:580,idField:'card_no',textField:'card_no',mode:'remote',url:'./control/card.php',columns: [[
{field:'card_no',title:'Card No',width:100},
{field:'material_name',title:'Material Name',width:350},
{field:'Unit',title:'Unit',width:30},
{field:'account_code',title:'Kode Kartu',width:100}
]], onSelect: onSelectGrid,
onShowPanel: onShowPanel,
onHidePanel: onHidePanel,}}">Card No</th>
<th field="material_name" width="50" editor="{type:'text',options:{required:true}}">Material Description</th>
<th field="Unit" width="20" editor="text" >Unit</th>
<th field="quantity" width="30" editor="text">Quantity</th>
<th field="accbiaya" width="40" editor="text">Kode Kartu</th>
</tr>
</thead>
</table>
and here my script code:
function getRowIndex(target) {
var tr = $(target).closest('tr.datagrid-row');
return parseInt(tr.attr('datagrid-row-index'));
}
var cbg=null;
var tb=null;
function onSelectGrid(index,record) {
if(cbg) {
var cb = cbg;
var opts =cb.combogrid('options');
var grid = cb.combogrid('grid');
var row= grid.datagrid('getSelected');
//alert (row.material_name);
var index = $('#dg2').datagrid('getSelected');
//alert (index);
//$(target).val(row.material_name);
$('#dg2').datagrid('updateRow',{
index: index,
row: {
card_no: row.card_no,
material_name: row.material_name,
Unit:row.Unit,
accbiaya:row.account_code,
}
});
$('dg2').datagrid('reload');
}
}
function onShowPanel() {
cbg = $(this);
}
function onHidePanel() {
cbg = null;
}