$this->cols = array(
'id' => array('label' => 'id:',
'width' => 0,
'align' => 'center',
'editable' => false,
'search_op' => 'like',
'hidden' => true
),
$this->cols_default = array('fixed' => true);
id у меня в таблице прописано... add открывается, заполняю поля, жму sumbit и ничего не происходит, тоже самое и с редактированием...MrZaYaC, поле ключа есть в выборке this->cols?
У меня не работало Add при его отсутствии.
Добавить в
Если не нужно на форме, то скрыть через hidden => truePHP:$this->cols = array( 'id' => array('label' => 'id:', 'width' => 0, 'align' => 'center', 'editable' => false, 'search_op' => 'like', 'hidden' => true ),
Либо объявить в OperData как написано вот тут
var ele1 = $form.find(':file[value=""]');
ele1.each(function()
{
$(this).remove();
});
$langs = $this->getLangs();
$this->query = "
SELECT m.id, m.imei,m.name, m.price, m.price_valet, m.lang, m.balance,m.phone_number,m.groups,m.rxgain,m.txgain
FROM modems m
LEFT JOIN `group` g ON (m.groups=g.id)
LEFT JOIN `valets` v ON (m.price_valet = v.id)
LEFT JOIN `languages` l ON (m.lang = l.id)
WHERE {where}
";
.......
$this->cols = array( 'lang'=>array('label' => 'Язык',
'db' => "m.lang",
'width' => 10,
'replace' => $langs,
'search' => false,
'sortable' => false,
'editable' => true,
'edittype' => 'select',
'editoptions' => array('value'=> new jqGrid_Data_Value($langs)),
и тд.......
.....
protected function getLangs()
{
$result = $this->DB->query("SELECT * FROM `languages`");
$rows = array();
while($r = $this->DB->fetch($result))
{
$rows[$r['id']] = $r['short_name'];
}
return $rows;
}
'editoptions' => array('value'=> $langs),
Работающий вариант:
{ "label": "Язык", "replace": [ ], "formatter": null, "hidden": false, "editable": true, "search": false, "classes": "", "align": "left", "null": null, "encode": true, "width": "10", "sortable": false, "edittype": "select", "editoptions": { "value": Object id #8 }, "name": "lang", "index": "lang" } ]
Не работающий вариант идентичен, но в отличие от рабочего содержит вот такой участок кода
"editoptions": { "value": " "}
Все спасибки разобрался со всем, у меня действительно стоял пхп 5.1. Сработало оба решения. Попробувал вот так 'editoptions' => array('value'=> $langs) - работает, обновил версию пхп, и заработали оба варианта решения (тот который в примерах и тот что привели вы). Спасибо за помощь.Есть мнение, что где-то используется очень древняя версия php - старше 5.2.
В этом случае __toString работает по-другому. Если так, то нужно обновиться.
В консоли javascript какие ошибки?
Судя по описанию, должно НЕ работать как раз первое.