Здравствуйте, уважаемые!
Наверное вопрос глупый, но у меня толи глаз замылился, толи я отупел уже вконец, бьюсь второй день.
Вот пример прямо из вики jqgrid. Я добавил в самую простую таблицу subgrid и сделал некоторые поля редактируемыми.
Понимаю что так делать нельзя и никто в коде рытся не будет, но вставлю код целиком чтобы можно было его легко скопипастить и попробовать у себя.
На всякий случай - все это я кручу в kohane, подключаю скрипты и стили так:
Суть проблемы вот в чем - если убрать подтаблицу - то редактируемые поля по клику выбираются правильно, если добавить подтаблицу - выбираются для редактирования другие поля, которые не обозначены как editable:true. Происходит смещение, как я понимаю изза добавлдения колонки с "+". Для наглядности картинки.
1. Без subgrid
2. C subgrid.
Может ктото просто по картинкам даже вспомнит как это побороть?
Наверное вопрос глупый, но у меня толи глаз замылился, толи я отупел уже вконец, бьюсь второй день.
Вот пример прямо из вики jqgrid. Я добавил в самую простую таблицу subgrid и сделал некоторые поля редактируемыми.
Понимаю что так делать нельзя и никто в коде рытся не будет, но вставлю код целиком чтобы можно было его легко скопипастить и попробовать у себя.
PHP:
<table id="list4"></table>
<script type="text/javascript">
var lastsel;
jQuery("#list4").jqGrid({
datatype: "local",
height: 250,
colNames:['Inv No','Date', 'Client', 'Amount','Tax','Total','Notes'],
colModel:[
{name:'id',index:'id',width:60, sorttype:"int"},
{name:'invdate',index:'invdate', width:90, sorttype:"date",editable:true},
{name:'name',index:'name', width:100,editable:true},
{name:'amount',index:'amount', width:80, align:"right",sorttype:"float",editable:true},
{name:'tax',index:'tax', width:80, align:"right",sorttype:"float"},
{name:'total',index:'total', width:80,align:"right",sorttype:"float"},
{name:'note',index:'note', width:150, sortable:false}
],
subGrid : true, //Если здесь поставить false - то всё работает правильно
subGridModel: [{ name : ['No','Item','Qty','Unit','Line Total'],
width : [55,200,80,80,80] }
],
onSelectRow: function(id){
if(id && id!==lastsel){
jQuery('#list4').jqGrid('restoreRow',lastsel);
jQuery('#list4').jqGrid('editRow',id,true);
lastsel=id;
}
},
caption: "Manipulating Array Data"
});
var mydata = [
{id:"1",invdate:"2007-10-01",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"},
{id:"2",invdate:"2007-10-02",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"},
{id:"3",invdate:"2007-09-01",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"},
];
for(var i=0;i<=mydata.length;i++)
jQuery("#list4").jqGrid('addRowData',i+1,mydata[i]);
</script>
PHP:
<?php echo HTML::style('assets/css/ui-lightness/jquery-ui-1.8.16.custom.css'), PHP_EOL ?>
<?php echo HTML::style('assets/css/ui.jqgrid.css'), PHP_EOL ?>
<?php echo HTML::script('assets/js/jquery-1.6.2.min.js'), PHP_EOL ?>
<?php echo HTML::script('assets/js/grid.locale-ru.js'), PHP_EOL ?>
<?php echo HTML::script('assets/js/jquery.jqGrid.min.js'), PHP_EOL ?>
1. Без subgrid
2. C subgrid.
Может ктото просто по картинкам даже вспомнит как это побороть?
Вложения
-
33,3 KB Просмотры: 1
-
33,3 KB Просмотры: 1