Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 22-09-2005, 12:54   #1 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Beiträge: 5
Question ComboBox Problem

Hallo zusammen,

Ich arbeite gerade an einer Patientendatenbank, die die Inhalte in einer lokalen DB speichert.

Mein Problem ist die Combobox unter den "Zusatzdaten".
Hier die Vorschau: http://www.meg04a.de/patienten
WICHTIG: Um den Fehler auszumachen bitte eigenständig 2 Testeinträge einpflegen!

Fehler-Beispiel:
Beim ersten Aufruf des "Leistungsumsatzes (Instanz=leistungs_GU)" ist "Ruhiges liegen und sitzen" aktiviert. Wenn man den Eintrag für eine Patienten ändert z.B. in "Gehen", dann übernimmt er dieses leider auch für alle anderen Patienten. Soll aber für jeden Patienten individuell sein.

Hier ein Teil AS (habe einige Button-Funktionen herausgenommen):
ActionScript:
  1. function Patienten () {
  2.     this.fields = {name: scene.name, vorname: scene.vorname, geburtsdatum: scene.geburtsdatum, geschlecht: scene.geschlecht, ziel_bmi: scene.ziel_bmi, gewicht: scene.gewicht, groesse: scene.groesse, raum: scene.raum, erstelldatum: scene.erstelldatum, essgewohnheiten: scene.essgewohnheiten, zustand: scene.zustand, diagnosen: scene.diagnosen, medikamente: scene.medikamente, bemerkung: scene.bemerkung, erhoehter_GU: zusatzdaten.erhoehter_GU, leistungs_GU: zusatzdaten.leistungs_GU, proteinbedarf: zusatzdaten.proteinbedarf, fluessigkeitsbedarfchk: zusatzdaten.fluessigkeitsbedarfchk, fluessigkeitsbedarf: zusatzdaten.fluessigkeitsbedarf, fr1: mahlzeiten:fr1, fr2: mahlzeiten:fr2, fr3: mahlzeiten:fr3, fr4: mahlzeiten:fr4, fr5: mahlzeiten:fr5, fr6: mahlzeiten:fr6};
  3.     scene.listBox.setChangeHandler ("refreshFields", this);
  4.     scene.addBtn.setClickHandler ("addBtnHandler", this);
  5.     scene.updateBtn.setClickHandler ("updateBtnHandler", this);
  6.     scene.removeBtn.setClickHandler ("removeBtnHandler", this);
  7.     scene.moredataBtn.setClickHandler ("moredataBtnHandler", this);
  8.     scene.mealBtn.setClickHandler ("mealBtnHandler", this);
  9.     scene.abortBtn.setEnabled (false);
  10.     scene.okBtn.setEnabled (false);
  11.     scene.moredataBtn.setEnabled (false);
  12.     scene.mealBtn.setEnabled (false);
  13.     zusatzdaten._visible = 0;
  14.     mahlzeiten._visible = 0;
  15.     this.refreshListBox (0);
  16. }
  17. Patienten.prototype.refreshListBox = function (index) {
  18.     var soList = manager.so.data.list;
  19.     scene.listBox.removeAll ()
  20.     var newElement = null;
  21.  
  22.     for (var element in soList) {
  23.         newElement = soList[element].name+" - "+soList[element].vorname;
  24.         scene.listBox.addItem(newElement, soList[element].id);
  25.     }
  26.     if (arguments.length>0) scene.listBox.setSelectedIndex (index);
  27. }
  28. Patienten.prototype.refreshFields = function () {
  29.     var id = scene.listBox.getValue();
  30.     if (id == undefined) {
  31.         for (var element in this.fields) this.fields[element].text = "";
  32.     } else {
  33.         var soElement = manager.so.data.list["_" + id];
  34.         for (var element in this.fields) this.fields[element].text = soElement[element];
  35.  
  36.         var_groesse_2 = (var_groesse/100)*(var_groesse/100);
  37.         var_bodymassindex = var_gewicht/var_groesse_2;
  38.         var_bmi = var_bodymassindex;
  39.                    
  40.         if (var_bmi < 30 ) {
  41.             if (var_bmi < 25) {
  42.                 if (var_bmi < 18.5 ) {
  43.                     var_bmi_zustand = "Untergewicht";
  44.                 }
  45.                 else if (var_bmi > 18.5 ) {
  46.                     var_bmi_zustand = "Normalgewicht";
  47.                 }
  48.             }
  49.             else {
  50.                 var_bmi_zustand = "Übergewicht";
  51.             }
  52.         }
  53.         else {
  54.             var_bmi_zustand = "Adipositas";
  55.         }      
  56.        
  57.         zusatzdaten.leistungs_GU.addItem("Ruhiges Liegen und Sitzen","1,2");
  58.         zusatzdaten.leistungs_GU.addItem("Ruhiges Stehen","1,4");
  59.         zusatzdaten.leistungs_GU.addItem("Gehen","1,85");
  60.         zusatzdaten.leistungs_GU.addItem("leichte Hausarbeit","1,8");
  61.         zusatzdaten.leistungs_GU.addItem("mittelschwere Hausarbeit","2,75");
  62.         zusatzdaten.leistungs_GU.addItem("schwere Hausarbeit","3,7");
  63.         zusatzdaten.leistungs_GU.addItem("Körperlich anstrengende Arbeit","2,2");
  64.        
  65.     }
  66. }
  67. Patienten.prototype.enterEditMode = function (mode) {
  68.     for (var element in this.fields) {
  69.         if (mode=="addMode") this.fields[element].text = "";
  70.         this.fields[element].type = "input";
  71.         this.fields[element].selectable = true;
  72.     }
  73.     Selection.setFocus(this.fields.name);
  74.     scene.addBtn.setEnabled(false);
  75.     scene.updateBtn.setEnabled(false);
  76.     scene.removeBtn.setEnabled(false);
  77.     scene.listBox.setEnabled(false);
  78.     scene.okBtn.setEnabled (true);
  79.     if (mode=="addMode") scene.okBtn.setClickHandler ("okBtnAddHandler", this);
  80.     else scene.okBtn.setClickHandler ("okBtnUpdateHandler", this);
  81.     scene.abortBtn.setEnabled (true);
  82.     scene.abortBtn.setClickHandler("abortBtnHandler", this);
  83.     scene.moredataBtn.setEnabled (true);
  84.     scene.zusatzdaten.closeBtn.setEnabled (true);
  85.     scene.mealBtn.setEnabled (true);
  86.     zusatzdaten._visible = 0;
  87. }
  88. Patienten.prototype.exitEditMode = function () {
  89.     for (var element in this.fields) {
  90.         this.fields[element].type = "dynamic";
  91.         this.fields[element].selectable = false;
  92.     }
  93.     scene.addBtn.setEnabled(true);
  94.     scene.updateBtn.setEnabled(true);
  95.     scene.removeBtn.setEnabled(true);
  96.     scene.listBox.setEnabled(true);
  97.     scene.abortBtn.setEnabled (false);
  98.     scene.okBtn.setEnabled (false);
  99.     scene.moredataBtn.setEnabled (false);
  100.     scene.mealBtn.setEnabled (false);
  101.     zusatzdaten._visible = 0;
  102. }
  103. Patienten.prototype.addBtnHandler = function () {
  104.     this.enterEditMode ("addMode");
  105. }
  106. Patienten.prototype.updateBtnHandler = function () {
  107.     if (scene.listBox.getSelectedItem() != undefined) this.enterEditMode ("updateMode");
  108. }
  109. Patienten.prototype.okBtnAddHandler = function () {
  110.     this.exitEditMode();
  111.     newElement = manager.addElement (
  112.         this.fields.name.text,
  113.         this.fields.vorname.text,
  114.         this.fields.geburtsdatum.text,
  115.         this.fields.geschlecht.text,
  116.         this.fields.ziel_bmi.text,
  117.         this.fields.gewicht.text,
  118.         this.fields.groesse.text,
  119.         this.fields.raum.text,
  120.         this.fields.erstelldatum.text,
  121.         this.fields.essgewohnheiten.text,
  122.         this.fields.zustand.text,
  123.         this.fields.diagnosen.text,
  124.         this.fields.medikamente.text,
  125.         this.fields.bemerkung.text,
  126.         this.fields.erhoehter_GU.text,
  127.         this.fields.leistungs_GU.text,
  128.         this.fields.proteinbedarf.text,
  129.         this.fields.fluessigkeitsbedarfchk.text,
  130.         this.fields.fluessigkeitsbedarf.text,
  131.         this.fields.fr1.text,
  132.         this.fields.fr2.text,
  133.         this.fields.fr3.text,
  134.         this.fields.fr4.text,
  135.         this.fields.fr5.text,
  136.         this.fields.fr6.text
  137.     );
  138.     this.refreshListBox ();
  139.     var listLength = scene.listBox.getLength();
  140.     var newID = newElement.id;
  141.     for (var i = 0; i < listLength; i++) {
  142.         if (newID == scene.listBox.getItemAt(i).data) {
  143.             scene.listBox.setSelectedIndex(i);
  144.             break;
  145.         }
  146.     }
  147. }
  148. Patienten.prototype.okBtnUpdateHandler = function () {
  149.     this.exitEditMode();
  150.     var id = scene.listBox.getValue();
  151.     var oldIndex = scene.listBox.getSelectedIndex();
  152.     manager.updateElement (
  153.         id,
  154.         this.fields.name.text,
  155.         this.fields.vorname.text,
  156.         this.fields.geburtsdatum.text,
  157.         this.fields.geschlecht.text,
  158.         this.fields.ziel_bmi.text,
  159.         this.fields.gewicht.text,
  160.         this.fields.groesse.text,
  161.         this.fields.raum.text,
  162.         this.fields.erstelldatum.text,
  163.         this.fields.essgewohnheiten.text,
  164.         this.fields.zustand.text,
  165.         this.fields.diagnosen.text,
  166.         this.fields.medikamente.text,
  167.         this.fields.bemerkung.text,
  168.         this.fields.erhoehter_GU.text,
  169.         this.fields.leistungs_GU.text,
  170.         this.fields.proteinbedarf.text,
  171.         this.fields.fluessigkeitsbedarfchk.text,
  172.         this.fields.fluessigkeitsbedarf.text,
  173.         this.fields.fr1.text,
  174.         this.fields.fr2.text,
  175.         this.fields.fr3.text,
  176.         this.fields.fr4.text,
  177.         this.fields.fr5.text,
  178.         this.fields.fr6.text
  179.     );
  180.     this.refreshListBox (oldIndex);
  181. }

Wie speichere ich jetzt den "Leistungsumsatz (ComboBox/Instanz:leistungs_GU)", für jeden Patienten unterschiedlich, in die lokale DB?
mayko ist offline   Mit Zitat antworten
Alt 22-09-2005, 22:45   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Wenn du schon solch eine Code-Wüste hier veröffentlichst, dann solltest du sie auch entsprechend auskommentieren...

Und dann leg ich dir dringend nahe, die F7-Programmierung mit Listenern für die Komponente zu übernehmen, die ist um einiges verständlicher, siehe Flash-Hilfe.

BTW: für Komponenten gibt es hier ein eigenes Board...
  Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 01:10 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele