Rabu, 17 Desember 2014

Refresh Datasource dari sebuah form

Jika kita membuat suatu Form terutama DropDialog yang diperuntukan untuk mengentry data, terkadang sukar sekali untuk merefresh form induknya supaya memperlihatkan hasil entry kita.
berikut adalah contoh untuk merefresh datasource induk.

Di form Childnya (DropDialog) ...
Buka node method
di method CloseOK()
tambahkan macro #Task

public void closeOk()
{
      #Task
      FormRun formRun;

      super();

      formrun = element.args().caller();

      if(formrun)
      {
             formrun.task(#taskF5);
       }
}

implementasinya bisa speerti ini :

public void closeOk()
{

      #Task
      FormRun formRun;

      RefRecId custRecId = element.args().record().RecId;
      RefRecId caseRecId;
  
      Inventtable            ITinventtable;

      ITinventtable.InventId = FieldInventId.valueStr();
      ITinventtable.Name     = FieldInventname.valueStr();

      ITinventtable.insert();
   
      formrun = element.args().caller();
      formrun.task(#taskF5);

     if(formHasMethod(element.args().caller(), identifierstr('setTouched')))
    {
        element.args().caller().setTouched();
       
    }

    super();

   element.savelastvalues();

}

private void saveLastValues()
{
    xSysLastValue::putValue([FieldInventId.valueStr()], curext(), curuserid(), UtilElementType::Form, form.name());
}

Tidak ada komentar:

Posting Komentar