Wie rufe ich eine Funktion automatisch auf, wenn eine Spalte geändert wird?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ich habe eine Zeichenspalte in einer Datentabelle, in der der Benutzer die Daten über eine Listenprüfung ändern kann. Die Spalte ist mit Werten gefüllt, und ich brauche einen Weg, um zu erkennen, wann der Benutzer einen Wert in der Spalte ändert, sodass ich eine Funktion aufrufen kann, die die Zeilen entsprechend neu färbt. Das Abonnieren der Datentabelle funktioniert nicht, da ich Änderungen in vorhandenen Zeilen erkennen muss und nicht das Hinzufügen neuer Zeilen. Gibt es eine Möglichkeit, dies mit MakeRowStateHandler zu tun? Ich habe einen Versuch unternommen, hatte aber zu viele Rekursionen, da die aufgerufene Funktion tatsächlich den Zeilenstatus ändert und der Zeilenstatus-Handler dadurch erneut ausgelöst wird.
Re: Wie wird eine Funktion automatisch aufgerufen, wenn eine Spalte geändert wird?Vielen Dank! Diese Lösung funktioniert!
Re: Wie wird eine Funktion automatisch aufgerufen, wenn eine Spalte geändert wird?Dies ist ein bisschen kluge, sollte aber funktionieren:
Nehmen wir an, Ihre Charakterspalte heißt A.
Erstellen Sie zwei ausgeblendete Spalten B und C:
1 B ist eine Kopie von Spalte A
2 C ist eine Formelspalte, deren Formel lautet:
ein. Haben die beiden Spalten A und B den gleichen Wert?
b. Wenn ja, tu nichts.
c. Wenn nicht, rufen Sie Ihre Funktion auf und setzen Sie dann B auf den neuen Wert von A
Einige Ideen zu Formelspalten für Schritt 2 erhalten Sie von meinem Poster: http://www.jmp.com/about/events/summit2011/protected/Poster11_PeterMroz.pdf
Siehe Abschnitt 4, wo eine Tabellenzelle wie ein Hyperlink wirkt. Dieser Ansatz ist möglicherweise nicht das, was Sie brauchen, da der Benutzer nur auf eine Spaltenzelle klicken muss, damit etwas passieren kann.