arkaetsc
I'm new here

FS_DATASET Regel - Eingabefeld anzeigen

Jump to solution

Hallo zusammen,

wir versuchen gerade abhängig von einer FS_DATASET Auswahl, bestimmte Formular-Eingabefelder anzuzeigen.

Im FS_DATASET wird ein Datensatz ausgewählt der, in der Datenquelle, ein Feld "Typ" hat, in welchem z. B. "Datumsfeld" oder "Freitext" steht.

Wir möchten jetzt abhängig vom "Typ", den der ausgewählte Datensatz hat, entsprechende Eingabefelder anzeigen.

Finden aber leider keine Hinweise in der Doku zur Auswertung von FS_DATASET.

Vielleicht könnt ihr uns ja etwas weiterhelfen, wir wissen gerade nicht weiter.

Hier das DATASET in dem ein "Listen-Attribut" ausgewählt wird.

<FS_DATASET

      name="st_listenAttribute"

      allowDelete="no"

      allowEdit="no"

      allowNew="no"

      hFill="yes"

     mode="combobox"

      useLanguages="no">

      <LANGINFOS>

           <LANGINFO lang="*" label="Listen-Attribute" expression="#item.Name"/>

      </LANGINFOS>

      <SOURCES>

             <CONTENT name="listen_attribute"/>

      </SOURCES>

</FS_DATASET>

Hier die Felder, die je nach ausgewählten "Listen-Attribut-Typ" angezeigt werden sollen.

<CMS_INPUT_DATE name="st_Date" hFill="no" mode="datetime" singleLine="no">

      <LANGINFOS>

          <LANGINFO lang="*" label="Datum"/>

     </LANGINFOS>

</CMS_INPUT_DATE>

<CMS_INPUT_TEXT name="st_value" hFill="yes" singleLine="no">

      <LANGINFOS>

           <LANGINFO lang="*" label="Wert" description="Der Wert für das Schlüsselwort wird in der Attribut-Box dargestellt."/>

     </LANGINFOS>

</CMS_INPUT_TEXT>

Viele Grüße

Alex

0 Kudos
1 Solution

Accepted Solutions

Hallo Marcel,

das ein-/ausblenden hab ich jetzt wie du sagst mit einfachen Regeln abhängig von "st_type" gemacht. Für die möglichen Attribute habe ich dann noch eine Query, die über eine Regel mit einem Parameter befüllt wird.

Haben jetzt also mehrere CMS_INPUT_COMBOX'en, da ist das ganze deutlich einfacher - ist sogar in der FS-Doku beschrieben ("Vorlagenentwicklung" / "Regeln" / "Wertemittlung <WITH/>".


Formular


<CMS_INPUT_COMBOBOX name="st_type" hFill="yes" singleLine="no">    

     <ENTRIES>     

          <ENTRY value="1">        

               <LANGINFOS>          

                         <LANGINFO lang="*" label="Nummer"/>        

                </LANGINFOS>      

          </ENTRY>   

      </ENTRIES>   

      <LANGINFOS>      

          <LANGINFO lang="*" label="Typ"/>    

     </LANGINFOS>  

</CMS_INPUT_COMBOBOX>

<CMS_INPUT_COMBOBOX name="st_number" hFill="yes" singleLine="no" useLanguages="no">      

     <CMS_INCLUDE_OPTIONS type="database">        

          <LABELS>          

               <LABEL lang="*">#item.Name</LABEL>        

          </LABELS>        

          <QUERY name="Datenbank.attribute_query"/>        

          <TABLE>Datenbank.attribute</TABLE>      

     </CMS_INCLUDE_OPTIONS>      

     <LANGINFOS>       

          <LANGINFO lang="*" label="Attribute"/>      

     </LANGINFOS>   

</CMS_INPUT_COMBOBOX>

Regel:

<ON_EVENT>    

     <IF>    

          <PROPERTY source="st_number" name="FOCUS"/>   

      </IF>       

      <WITH>           

           <PROPERTY source="st_type" name="VALUE"/>       

      </WITH>       

      <DO>        

          <PROPERTY source="st_number" name="query.type"/>       

      </DO>    

</ON_EVENT>

Trotzdem schade das es hierzu kein vergleichbares Beispiel für FS_DATASET gibt, also für das dynamische befüllen.

Danke für die Antwort Marcel!

Einen guten Wochenstart

Alex

View solution in original post

0 Kudos
7 Replies
MarsDD
Occasional Observer

Hallo Alex,

wieso löst Du das nicht via einem Dropdown-Element?

So kannst Du recht einfach eine Regel bauen, die je nach Inhalt des Elementes Deine gewünschten Elemente sichtbar macht, oder auch nicht.

Viele Grüße

Marcel

Hallo Marcel,

das ein-/ausblenden hab ich jetzt wie du sagst mit einfachen Regeln abhängig von "st_type" gemacht. Für die möglichen Attribute habe ich dann noch eine Query, die über eine Regel mit einem Parameter befüllt wird.

Haben jetzt also mehrere CMS_INPUT_COMBOX'en, da ist das ganze deutlich einfacher - ist sogar in der FS-Doku beschrieben ("Vorlagenentwicklung" / "Regeln" / "Wertemittlung <WITH/>".


Formular


<CMS_INPUT_COMBOBOX name="st_type" hFill="yes" singleLine="no">    

     <ENTRIES>     

          <ENTRY value="1">        

               <LANGINFOS>          

                         <LANGINFO lang="*" label="Nummer"/>        

                </LANGINFOS>      

          </ENTRY>   

      </ENTRIES>   

      <LANGINFOS>      

          <LANGINFO lang="*" label="Typ"/>    

     </LANGINFOS>  

</CMS_INPUT_COMBOBOX>

<CMS_INPUT_COMBOBOX name="st_number" hFill="yes" singleLine="no" useLanguages="no">      

     <CMS_INCLUDE_OPTIONS type="database">        

          <LABELS>          

               <LABEL lang="*">#item.Name</LABEL>        

          </LABELS>        

          <QUERY name="Datenbank.attribute_query"/>        

          <TABLE>Datenbank.attribute</TABLE>      

     </CMS_INCLUDE_OPTIONS>      

     <LANGINFOS>       

          <LANGINFO lang="*" label="Attribute"/>      

     </LANGINFOS>   

</CMS_INPUT_COMBOBOX>

Regel:

<ON_EVENT>    

     <IF>    

          <PROPERTY source="st_number" name="FOCUS"/>   

      </IF>       

      <WITH>           

           <PROPERTY source="st_type" name="VALUE"/>       

      </WITH>       

      <DO>        

          <PROPERTY source="st_number" name="query.type"/>       

      </DO>    

</ON_EVENT>

Trotzdem schade das es hierzu kein vergleichbares Beispiel für FS_DATASET gibt, also für das dynamische befüllen.

Danke für die Antwort Marcel!

Einen guten Wochenstart

Alex

0 Kudos

Hallo Alex,

ich habe den Zugriff auf die inneren Komponenten eines ausgewählten Datensatzes als Feature-Wunsch notiert.

Könntest du kurz erklären, was du hiermit meinst:

arkaetsc schrieb:

Trotzdem schade das es hierzu kein vergleichbares Beispiel für FS_DATASET gibt, also für das dynamische befüllen.

Was genau soll dynamisch befüllt werden können?

Beste Grüße

Stefan

0 Kudos

Hallo Stefan,

ich glaube Alex meint, dass eine Eingabekomponente (vgl. CMS_INPUT_COMBOBOX) durch den value eines FS_DATASET befüllt werden soll und nicht anhand von mehreren Komponenten diese via VISIBILITY ggf. ein/ausgeblendet werden sollen.

Viele Grüße

Marcel

0 Kudos

Hallo Stefan,

Macel hat es schon ganz richtig beschrieben.

Mit "dynamisch befüllen" meinte ich das was in der Doku unter http://www.e-spirit.com/odfs51/Template-development/Rules/Value-determination-WITH/ unter "Example 2)" beschrieben wird - nur eben für FS_DATASET.

Also, Ermitteln eines Wertes aus einem FS_DATASET und Übergabe dieses in ein weiteres FS_DATASET, z.B. zur Filterung.

Viele Grüße

Alex

0 Kudos

Hi Alex,

arkaetsc schrieb:

Also, Ermitteln eines Wertes aus einem FS_DATASET und Übergabe dieses in ein weiteres FS_DATASET, z.B. zur Filterung.

das klingt ja doch nach ein wenig mehr. Ich nehme an, mit "Filterung" meinst du eine Einschränkung der Auswahl für die zweite FS_DATASET analog zu der query-Property für die Combobox-Komponente, richtig? Das ging ja nur, wenn die FS_DATASET eine Query als Quelle hätte, was aktuell nicht möglich ist. Sozusagen das Kinderüberaschungsei unter den Feature-Wünschen Smiley Wink

Beste Grüße

Stefan

0 Kudos

Hi Stefan,

jo, im Grunde fehlt mir die query-Property beim FS_DATASET.

Einen guten Wochenstart

Alex

0 Kudos