Обновление базы данных пользовательских действий Oracle APEX Interactive Grid - PullRequest
1 голос
/ 10 апреля 2019

У меня есть интерактивная сетка с определенным пользовательским действием.То, что я пытаюсь сделать, это циклически проходить по сетке, захватывать все выбранные записи, затем циклически проходить по записям и обновлять отдельное поле базы данных для каждой записи, устанавливая его равным 0.

Я использую следующий кодциклически перебирать записи, захватывая идентификатор записи:

view=apex.region("myGrid").widget().interactiveGrid("getViews","grid");

if (view.supports.edit)
{
    model=view.model;
    records=view.getSelectedRecords();
    if(records.length>0)
    {
        for(i=0;i< records.length; i++)
       {

            $record_id= model.getValue(records[i], "RECORD_ID");
            //update the database here UPDATE TABLE1 SET Flag=0 WHERE RECORD_ID=$record_id
        }
    }
}

Каков наилучший способ выполнить обновление здесь?

1 Ответ

1 голос
/ 11 апреля 2019

Была довольно похожая ситуация немного назад. Я хотел пройти IG и изменить один столбец для каждой выбранной записи. Я настроил динамическое действие, запускаемое на кнопке, и запустил следующий Javascript, а после javascript настроил другое действие tru для страницы отправки, в противном случае вам все равно придется сохранять вручную. Это было мое решение:

    var g = apex.region('MY_INTERACTIVE_GRID').widget().interactiveGrid('getViews','grid');  
    var r = g.getSelectedRecords();  
    for(i = 0; i < r.length; i++) {   
    g.model.setValue(r[i], 'MY_COLLUMN', 'VALUE_I_WANT');
}

Надеюсь, это поможет, многие решения, которые я нашел, не сработали для меня, это сработало (Im 18.2)

...