2016-03-08 4 views
0

Я пытаюсь создать приложение для пользователей, чтобы отправлять их время работы, но у меня возникают проблемы с извлечением дополнительных данных в сетку.DHTMLX Grid Pulling Дополнительные данные

Например: если пользователь должен ввести код сотрудника 0000 в колонку сотрудника, поле «Имя сотрудника» должно обновиться, чтобы прочитать «John Doe». Все эти данные хранятся в базах данных на задней панели, а я получили доступ к нему при обновлении, например. Если страница перезагружается после создания новой строки и данные присутствуют, она будет вытаскивать правильные данные, но я не хочу, чтобы они обновляли страницу для этого. Как я могу получить дополнительные данные после обновления ячейки.

Сетка создается на странице с JavaScript следующим образом:

timesheetGrid.setColumnIds("Column Names, Column Names"); 
      timesheetGrid.setImagePath("codebase/imgs/"); //set the image path for the grids icons 
      timesheetGrid.setInitWidths("70,100,100,100,70,100,150,100,70,70,100,70,70,*,*"); //sets the initial widths of columns 
      timesheetGrid.setColAlign("center,center,center,center,center,center,center,center,center,center,center,center,center,left,left"); //sets the alignment of columns 
      timesheetGrid.setColTypes("edn,ro,dhxCalendar,ro,edn,ro,ed,ro,ro,ro,ed,edn,ch,txt,ro"); //sets the types of columns 
      timesheetGrid.setColSorting("str,str,date,date,str,str,str,str,str,str,str,str,str,str,str"); //sets the sorting types of columns 
      timesheetGrid.setDateFormat("%Y-%m-%d"); //Set the Date Format to be used in the Grid 
      timesheetGrid.attachHeader("#text_filter,#text_filter,#text_filter,,#text_filter,#text_filter,#text_filter,#text_filter,#text_filter,#text_filter,#text_filter,#text_filter,,,"); 
      timesheetGrid.setColumnHidden(3,true); 
      timesheetGrid.enableEditEvents(true,false,true); 
      timesheetGrid.init(); 
      //timesheetGrid.makeFilter("WeekEnding",0); //TODO: Add Filter For Week Ending 
      //this.lockRow(id, true); //Make Specific Row Read Only TODO: Non Active Week Rows Read Only 
      timesheetGrid.load("data/timesheets.php"); 
      var dpg = new dataProcessor("data/timesheets.php"); 
      dpg.enableDataNames(true); // will use names instead of indexes 
      dpg.init(timesheetGrid); 

PHP используется для извлечения данных из правильных аллей

require("../codebase/connector/grid_connector.php");//adds the connector engine 
    $conn = new GridConnector($res,"MySQL");    //initializes the connector object 
if ($conn->is_select_mode()) {//code for loading data 
    SQL Code is HERE 
}else { //code for other operations - i.e. update/insert/delete 
    OTHER SQL CODE IS HERE 
} 

Как данные чувствительны я не могу показать какой-либо из извините за любые неудобства. Любая помощь была бы высоко оценена.

ответ

2

Если данные, которые вы предоставляете, это XML, вы можете прикрепить событие к своей сетке и вызвать этот grid.updateFromXML («data/timesheets.php»); Это будет анализировать и рисовать информацию всей сетки

Если вы хотите обновить только строки вы обновили вы можете отправить через GET идентификатор строки, и он будет только разобрать и окрасить строки вы отправляете grid.updateFromXML ("data/timesheets.php? for =" + row_id));

Полный код будет выглядеть примерно так:

dpg.defineAction ("update", myUpdate); 
function myUpdate(tag){ 
    timesheetGrid.updateFromXML("data/timesheets.php?for="+tag.getAttribute("sid")); 
    return true; 
} 

Если данные вы извлечения не XML отформатирован, я боюсь, что вы должны были бы обновить значения из строки вручную с помощью того же события ,

+0

Данные поступают из базы данных MySQL –

+0

База данных не имеет значения, ваш timesheets.php Я предполагаю, что генерирует XML-файл, так как вы не отправляете параметр формата, поэтому решение должно работать. – user2844810

+0

Содержимое временного листа php находится выше единственного отсутствующего кода - это оператор sql, поскольку я не могу выдавать нашу структуру данных. Я попробую использовать обновление из xml-команды выше и опубликовать свои результаты. –