Durch ein Tabellenfeld scrollen, um eine bestimmte Zeile anzuzeigen<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo, ich habe eine Tabellenbox, die einige tausend Zeilen enthält, sodass nur die ersten paar dieser Zeilen direkt in dem Fenster sichtbar sind, in dem sie enthalten sind. Um den Rest zu sehen, muss ich mit der vertikalen Bildlaufleiste durch die Tabellenbox scrollen.Irgendwo in diesem Tabellenfeld befindet sich eine Zeile, die ein bestimmtes Kriterium erfüllt.Ein einfaches Skript sagt mir, wie diese Zeilennummer lautet, und die Eigenschaft „Ausgewählte Zeilen festlegen()“ hebt sie für mich hervor, sodass ich in der Tabelle leicht nach unten zu dieser Zeile scrollen kann, um sie zu finden – aber ich hätte lieber die Tabelle Box automatisch an die richtige Stelle gescrollt, sodass mir die Zeile angezeigt wird.
Gibt es eine Möglichkeit, das zu skripten?Ich kann keine vom Befehl „Eigenschaften anzeigen“ aufgelistete Eigenschaft sehen, die so aussieht, als ob sie eine solche Funktion ausführen könnte.
Vielen Dank
Betreff: Durch ein Tabellenfeld scrollen, um eine bestimmte Zeile anzuzeigenEntschuldigung, ich habe gerade festgestellt, dass es sich um meine kabellose Tastatur handelt.Wenn ich es auf meiner Computertastatur mache, funktioniert es.
Betreff: Durch ein Tabellenfeld scrollen, um eine bestimmte Zeile anzuzeigenHallo, ich benutze F7 seit Jahren, um die nächste Zeile hervorzuheben, aber jetzt funktioniert es nicht mehr.Irgendeine Idee, warum oder wie ich das beheben kann?
Danke,
Carol
Betreff: Durch ein Tabellenfeld scrollen, um eine bestimmte Zeile anzuzeigenHallo. Ich hatte kürzlich die gleiche Frage und habe mich an den JMP-Support gewandt (Danke an Jasean). Ihre Lösung wird unten gezeigt, und ich wollte sie nur teilen, falls jemand anderes darauf stößt. Grundsätzlich gilt: Sie können die Bildlaufposition in einer TableBox nicht steuern, wohl aber mit einer VScrollBox. Deaktivieren Sie also das Scrollen in der TableBox und schließen Sie das Tabellenfeld stattdessen in eine VScrollBox ein.
Names Default to Here(1);
long_lis = {};
for each({i}, 1::100, InsertInto(long_lis, "Item " || Char(i)));
scb = StringColBox("Long List", long_lis);
tbl = TableBox(scb);
tbl << Set Scrollable(0, 0); //Turning off scrolling in the tbl box
tbl << Set Selectable Rows;
goto_bb = ButtonBox("Go To Item",
toSelect = neb << Get;
ItemCount = NItems(long_lis);
tbl << Set Selected Rows(EvalList({toSelect})); // select desired item
{h_extent, v_extent} = vsb << Get Scroll Extents; // in pixels
// determine portion of list above selected item and scroll to that relative position
portion = toSelect / ItemCount;
if(portion < 0.05, portion = 0);
vsb << Set Scroll Position(0, portion * v_extent); // in pixels
);
winny = NewWindow("test",
goto_bb, neb = Number Edit Box(50),
vsb = VScrollBox(Size(360), tbl) // set the size as number of pixels
);
Ich stimme zu, dass es nicht so sauber ist wie die direkte Integration des Steuerelements in TableBox, aber es funktioniert. Hoffe das hilft.
-nikles
Betreff: Durch ein Tabellenfeld scrollen, um eine bestimmte Zeile anzuzeigenMir sind keine Nachrichten bekannt, die an eine Tabellenbox gesendet werden können, damit diese zu einer bestimmten Position scrollt.Ich habe eine solche Anfrage gestellt Support@jmp.com , aber ich habe bisher noch nichts gesehen.
Ich hoffe, es gibt da draußen jemanden, der mir das Gegenteil beweisen kann
Betreff: Durch ein Tabellenfeld scrollen, um eine bestimmte Zeile anzuzeigenHallo Bill,
Ich fürchte nein; Dies muss ich mit einem JSL-Skript tun können, da ich versuche, die Notwendigkeit einer Aktion seitens des Benutzers zu beseitigen, während einige andere Aufgaben ausgeführt werden.Wenn mein Skript beispielsweise bereits festgestellt hat, dass die Zeile, die der Benutzer sehen muss, Zeile 12345 ist, aber nur die ersten 20 Zeilen des Tabellenfelds auf dem Bildschirm zu sehen sind, muss ich hier im Wesentlichen senden können eine Meldung an das Tabellenfeld mit der Aufschrift „Scrollen Sie nach unten zu Zeile 12345, damit diese Zeile im Fenster angezeigt wird“.
Eine alternative Möglichkeit wäre, einfach den Inhalt der Zeile 12345 zu extrahieren und ihn separat anzuzeigen. Ich würde die Anzeige jedoch lieber nach unten zur entsprechenden Zeile scrollen lassen, da in der Tabelle um diese Position wahrscheinlich auch andere Informationen enthalten sind für den Benutzer von Interesse sein.
Es kann sein, dass ich das nicht wirklich kann. In diesem Fall werde ich einen anderen Ausweg finden – aber ich hatte das Gefühl, dass es sich lohnt, zuerst zu fragen.
Vielen Dank
Betreff: Durch ein Tabellenfeld scrollen, um eine bestimmte Zeile anzuzeigenHallo dqr2,
Stellen Sie Ihre Daten grafisch dar?Wenn ja, können Sie beispielsweise einen Datenpunkt oder eine Reihe von Punkten im Diagramm hervorheben, die für Sie von Interesse sind.Navigieren Sie zurück zu Ihrer Datentabelle und drücken Sie die Taste F7.Wenn Sie F7 eingeben, gelangen Sie in die Tabellenzeile für den Datenpunkt, der in der Liste der ausgewählten Punkte an erster Stelle steht.Anschließend können Sie erneut F7 drücken, um zum nächsten Punkt zu gelangen.Drücken Sie F6, um zu einem vorherigen Punkt zurückzukehren.
Am besten,
Rechnung