}
}
+var grid_column_edit = new Array();
+
+function grid_cell_save(id,col,value)
+{
+ var source = document.getElementById('source');
+
+ if (!source) return false;
+
+ var parms = 'source=' + source.innerHTML;
+ parms += '&callback=cellsave';
+ parms += '&id=' + id;
+ parms += '&column=' + col;
+ parms += '&value=' + value;
+
+ ajax_request('function', parms, false);
+}
+
+function grid_cell_value()
+{
+ this.grid.menu.cancelmenu();
+
+ var bufRow = this.row;
+ if (this.grid.lastRowPos > 0) bufRow += this.grid.lastRowPos;
+
+ this.grid.buffer.setValue(bufRow, this.col, this.visible);
+
+ var cell = this.grid.cell(this.row,this.col);
+ cell.innerHTML = this.visible;
+
+ grid_cell_save(this.grid.buffer.getCell(bufRow,0), this.col, this.value);
+}
+
+function grid_dataMenuHandler(grid,row,col,onBlankRow)
+{
+ var default_menu = true;
+
+ if (grid_column_edit[col] &&
+ typeof grid_column_edit[col].default_menu !== 'undefined' &&
+ grid_column_edit[col].default_menu == false)
+ default_menu = false;
+
+ if (default_menu && typeof grid.menu.options.dataMenuHandlerOriginal == 'function') {
+ grid.menu.options.dataMenuHandlerOriginal(grid,row,col,onBlankRow);
+ grid.menu.div.style.width = '17em';
+ }
+
+ if (grid_column_edit[col]) {
+ var submenu;
+ if (default_menu) {
+ var submenu = new Rico.Menu(grid_column_edit[col].width);
+ submenu.createDiv();
+ } else
+ submenu = grid.menu;
+
+ for (i=0; i < grid_column_edit[col].values.length; i++)
+ submenu.addMenuItem(grid_column_edit[col].values[i][0],
+ grid_cell_value.bind({grid: grid, row: row, col: col,
+ visible: grid_column_edit[col].values[i][1],
+ value: grid_column_edit[col].values[i][2]}));
+
+ if (!default_menu && typeof grid_column_edit[col].width !== 'undefined')
+ grid.menu.div.style.width = grid_column_edit[col].width;
+
+ if (default_menu)
+ grid.menu.addSubMenuItem('Wert setzen', submenu, true);
+ }
+
+ if (default_menu)
+ return true;
+ else
+ return false;
+}
+
var calendars = new Array();
function calendar_callback(value)
{
$jscode[] = sprintf("%s = new Rico.LiveGrid ('grid_%s', new Rico.Buffer.AjaxSQL('ajax/ricoXMLquery.php'), %s_opts);", $gridname, $name, $name);
$jscode[] = sprintf("%s.menu = new Rico.GridMenu();", $gridname);
$jscode[] = sprintf("%s.edit = new Rico.TableEdit(%s);", $gridname, $gridname);
+ if ($gridname == 'grid') {
+ $jscode[] = sprintf("%s.menu.options.dataMenuHandlerOriginal = %s.menu.options.dataMenuHandler;", $gridname, $gridname);
+ $jscode[] = sprintf("%s.menu.options.dataMenuHandler = grid_dataMenuHandler;", $gridname);
+ }
$jscode[] = '});';
return $ret;
list = Array(id => Array)
fetch = Funktion
+
+
+Zellen in der Liste editieren
+-----------------------------
+
+$jscode[] = <<<EOC
+grid_column_edit[1] = {
+ default_menu: false,
+ width: '9em',
+ values: [
+ ['löschen', '', 0],
+ ['1 mal bestellen', '1', 1],
+ ['2 mal bestellen', '2', 2],
+ ['3 mal bestellen', '3', 3],
+ ['4 mal bestellen', '4', 4],
+ ['5 mal bestellen', '5', 5],
+ ['6 mal bestellen', '6', 6],
+ ['7 mal bestellen', '7', 7],
+ ['8 mal bestellen', '8', 8],
+ ['9 mal bestellen', '9', 9]
+ ]
+};
+EOC;
+
+'callbacks' => array('cellsave' => cell_save),
+
+
+function cell_save()
+{
+ if ($_POST['value'] == 0)
+ $sql = sprintf("UPDATE metro_ordersatz_pos SET anzahl = NULL, sys_user = '%s', sys_edit = now() WHERE ordersatz = %d AND artikel = %d",
+ pg_escape_string($_SESSION['sys']['login']),
+ $_SESSION['ordersatz'], $_POST['id']);
+ else
+ $sql = sprintf("UPDATE metro_ordersatz_pos SET anzahl = %d, sys_user = '%s', sys_edit = now() WHERE ordersatz = %d AND artikel = %d",
+ $_POST['value'], pg_escape_string($_SESSION['sys']['login']),
+ $_SESSION['ordersatz'], $_POST['id']);
+
+ $sth = pg_query($sql);
+ error_log($sql);
+}