sql >> Databáze >  >> RDS >> Oracle

Porovnání dat pomocí Dynamic Action na DatePicker Oracle Apex

Jak zmiňuje @ScottWe:pokoušíte se aplikovat logiku PLSQL v HTML/javascriptu. 'When - Condition' se vyhodnocuje za běhu, a proto tam nemůžete použít PLSQL. Aritmetika data je však v javascriptu trochu otravná, takže pokud s ní nejste obeznámeni, zde je způsob, jak provést kontrolu (což znamená, zda je zadané datum zítra nebo ne).

Vycházím z těchto vodítek:
Rozdíl v datech v JavaScriptu (ignorování denní doby)
JavaScript jak získat zítřejší datum ve formátu dd-mm-rr

Přidejte tuto funkci do sekce javascript na stránce pro globální proměnné a funkce:

function isTomorrow(pDateItem){  
  function getTomorrow(){ 
    var tomorrow = new Date();
    tomorrow.setDate(tomorrow.getDate() + 1);
    return tomorrow;
  };

  function cutTime(pDate){
    return new Date(pDate.getFullYear(), pDate.getMonth(), pDate.getDate());
  };

  // check if pDateItem leads to a selection
  // check if it is a datepicker
  // check if a date has been selected
  if ( $(pDateItem).length 
       && $(pDateItem).data("datepicker")
       && $(pDateItem).datepicker("getDate") !== null 
     ) 
  {        
    var tomorrow = getTomorrow();
    var check = $(pDateItem).datepicker("getDate");
    var one = cutTime(check);
    var two = cutTime(tomorrow);

    return one.getDate() === two.getDate();
  };
  return false;
}

Poté v podmínce dynamické akce „Když“ použijte výraz javascript s tímto kódem:

isTomorrow(this.triggeringElement)

Potom se odpovídající True Actions spustí pouze tehdy, když je datum nastaveno na zítra.




  1. Špatný výkon získávání pole clob z Oracle v .Net

  2. Jak uložit Java Date do Mysql datetime pomocí JPA

  3. Porovnání s datem v Oracle sql

  4. Oracle View vs spojování tabulek v Oracle