Hallo allerseits,
Benötigen Sie Ihre Hilfe, um die folgenden Probleme zu lösen (Code im Anhang).
1. Ich habe ein Widget, in das Benutzer Informationen eingeben können, und dann wird die Schaltfläche "Senden" gedrückt, und die Daten werden erfolgreich in der vordefinierten Datentabelle gespeichert. Allerdings kann ich die Anzeigetabelle auf dem Widget nicht aktualisieren lassen.
2. Beispielsweise senden Benutzer 5 Datenzeilen und die zweite Zeile ist falsch transkribiert. Dann möchte ich eine Schaltfläche "Löschen" erstellen, habe jedoch noch keine Idee, wie die richtige Zeile zum Löschen ausgewählt werden soll (im Widget).
data_input = Expr(
dt = New Table( "Data Table",
Invisible,
New Column( "Sequence",
Numeric,
Formula(Sequence(1,99,1))
),
New Column( "Col1",
Numeric,
"Continuous",
Format( "d/m/y h:m:s" ),
Input Format( "d/m/y h:m:s" ),
),
New Column( "Col2",
Character,
"Nominal"
),
New Column( "Col3",
Character,
),
New Column( "Col4",
Character,
),
New Column( "Col5",
Character,
"Nominal"
),
New Column( "Col6",
Character,
"Nominal"
),
New Column( "Col7",
Character,
"Nominal"
),
New Column( "Col8",
Character,
"Nominal"
),
New Column( "Col9",
Numeric,
Format( "h:m" )
),
New Column( "Col10",
Numeric,
Format( "h:m" )
),
);
);
buffer = Expr(
Data1 = {"A", "B", "C", "D", "E", "F"};
co1 = Data1[nw["t2"]];
);
graphic = Expr(
nw = New Window( " Records ",
<<MODAL></MODAL>
Schönen Tag,
@ Black_Wheel ,
Es gibt verschiedene Methoden, um dies zu tun:
- dt << Get As Report Wenn der Scripter den Bericht bei jedem Hinzufügen aktualisieren muss und das Skript zum Löschen die ausgewählte Zeile abruft, aus der zugrunde liegenden Tabelle löscht und die Anzeige aktualisiert. Der Bericht ist unabhängig von der Tabelle und der Scripter verwaltet die Ansicht.
- dt << Neues Datenfeld () Die Ansicht ist mit der Datentabelle verknüpft. Um also eine Zeile zu löschen oder zu bearbeiten, löscht oder bearbeitet der Benutzer sie einfach.
Es gibt eine andere Methode, mit der eine Tabellenbox erstellt wird DataTableColBox () Bei der Verwendung von Get Selected Rows (), die ich an JMP gemeldet habe, ist jedoch ein Fehler aufgetreten.
Ich habe eine geänderte Version Ihres Skripts mit der ersten Methode dt << Get As Report angehängt. Beachten Sie einige Cahnges:
- auskommentiert << Modal und << Return Results, die unsichtbare Tabelle scheint das Ergebnis zu sein.
- hat einen VScrollBox () -Container für die Anzeigetabelle hinzugefügt
- ausgewählte Zeilenfarbe rot gemacht (siehe Screenshot unten)
