Filter für Tabellen

Fragen Rund um den Quelltext.
Steve
Beiträge: 0
Registriert: Di 23. Jan 2018, 16:12

Filter für Tabellen

Beitragvon Steve » Di 23. Jan 2018, 16:38

Hallo

ich versuche mich gerade an einem ersten Modul für WaWision.
Ich habe mich mit dem Entwicklerhandbuch soweit lang gehangelt. Bis ich eine Tabelle mit den gewünschten Daten gefüllt bekommen habe.

Nun möchte ich noch einen Filter hinzufügen um ein Anfangs- und eine Enddatum festlegen zu können.

Dazu habe ich zunächst, wie in anderen Templates, ein Form um die Tabelle gepackt und ein fieldset mit den beiden Feldern hinzugefügt:

Code: Alles auswählen

<!-- WAWIFILEONLYON VERSION=ALL -->
<!-- gehoert zu tabview -->
<div id="tabs">
    <ul>
        <li><a href="#tabs-1">[TABTEXT]</a></li>
    </ul>
<!-- ende gehoert zu tabview -->

<!-- erstes tab -->
    <div id="tabs-1">
        <form action="" method="post" name="eprooform">
            <fieldset><legend>Filter</legend>
                <table>
                    <tr>
                        <td>
                            Datum von
                        </td>
                        <td>
                            <input type="text" id="datumVon" value="[DATUMVON]"/>
                        </td>
                        <td>bis</td>
                        <td>
                            <input type="text" id="datumBis" value="[DATUMBIS]">
                        </td>
                        <td>
                            <input type="submit" name="anwenden" value="Anwenden">
                        </td>
                    </tr>
                </table>            
            </fieldset>
            
            [MESSAGE]
            [TAB1]
            [TAB1NEXT]
        </form>
    </div>
<!-- tab view schließen -->
</div>
Und verwende folgenden Code im Actionhandler um die Felder mit einem Standardwert zu füllen:

Code: Alles auswählen

  function FinanzuebersichtList()
  {
    $this->app->erp->MenuEintrag("index.php?module=finanzuebersicht&action=list","&Uuml;bersicht");

    $input = $this->GetInput();

    if($input['datumVon']== '') $input['datumVon'] = date('01.m.Y');
    if($input['datumBis']== '') $input['datumBis'] = date('t.m.Y');

    $this->app->YUI->DatePicker("datumVon");
    $this->app->YUI->DatePicker("datumBis");

    $this->app->YUI->TableSearch('TAB1','finanzuebersicht_list', "show","","",basename(__FILE__), __CLASS__);
    
    $this->SetInput($input);
    $this->app->Tpl->Parse("PAGE","finanzuebersicht_list.tpl");

  }
Nur ist mir nicht klar wie ich die Werte von datumVon und datumBis in die static TableSearch bekommen soll um das SQL Statement anzupassen.

Mein aktueller Versuch sieht so aus:

Code: Alles auswählen

  static function TableSearch(&$app, $name, $erlaubtevars){

   $input = array();
   $input['datumVon'] = $app->Secure->GetPOST('datumVon');
   $input['datumBis'] = $app->Secure->GetPOST('datumBis');
   var_dump($input);
  ...
  }
Ergibt als output aber leider nur :
array(2) { ["datumVon"]=> string(0) "" ["datumBis"]=> string(0) "" }

Welche Möglichkeit habe ich da noch um an die Daten zu kommen?

Und wie kann ich die geänderten Filterwerte ohne extra Button übernehmen, wie es auch in anderen Modulen funktioniert?

sauterbe
Administrator
Beiträge: 6
Registriert: Mi 31. Dez 2014, 13:34

Re: Filter für Tabellen

Beitragvon sauterbe » Mi 24. Jan 2018, 05:52

man kann zum beispiel Schreibend die Werte kurz zwischenspeichern



$this->app->User->SetParameter("meinmodul_action_von","2018-01-01");


und in TableSearch lesend zugreifen

$von = $app->User->GetParameter("meinmodul_action_von");

Steve
Beiträge: 0
Registriert: Di 23. Jan 2018, 16:12

Re: Filter für Tabellen

Beitragvon Steve » Mi 7. Feb 2018, 12:24

Danke das hat mir schon weiter geholfen,

Ich versuche gerade noch die Beziehung zwischen Einträgen in der Tabelle Verbindlichkeiten und den Firmen Kontaktdaten herzustellen.
Leider konnte ich da keine Beziehung zwischen den Datensätzen ausmachen.

Hinweis: in der Professional 17.3 wird unter den Adressdaten eines Lieferanten der Reiter Verbindlichkeiten angezeigt aber auch wenn für den Lieferanten Verbindlichkeiten angelegt wurden werden diese nicht angezeigt (egal wie man die Filter setzt)

sauterbe
Administrator
Beiträge: 6
Registriert: Mi 31. Dez 2014, 13:34

Re: Filter für Tabellen

Beitragvon sauterbe » Mi 7. Feb 2018, 19:09

könnten sie das mit den Verbindlichkeiten grad als Ticket über Ihren Kundenaccount anlegen. Dann wird es schnell angepasst.