LabVIEWForum.de
Tabelle für Eingabe sperren - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Tabelle für Eingabe sperren (/Thread-Tabelle-fuer-Eingabe-sperren)

Seiten: 1 2


Tabelle für Eingabe sperren - knochä - 13.02.2008 11:13

Hallo,

ich wollt am Anfang meines Programmes das Angehängte VI öffnen.
Die Eingabe in die Tabelle soll so lange gesperrt sein bis der Nutzer auf Tabelle bearbeiten klickt.
Dann soll er die Werte bearbeiten können. Dies würde soweit ja auch funktionieren.

Wenn ich jedoch am Anfang die Tabelle deaktivier kann ich die Bildlaufleiste nicht mehr bewegen.

Habt ihr eine Idee wie ich dies umsetzten könnte?
Mir würde es auch reichen wenn sich die Tabelle auf die grau hinterlegte Zelle zentriert

(Das Vi fragt beim Start nach einer Datei, hier könnt ihr eine leere .txt datei auswählen).

(LabVIEW Version 8.5)

Gruß Knochä


Tabelle für Eingabe sperren - VDB - 13.02.2008 11:47

Du sperrst das ganze Control, also auch die Scrollleiste. Wenn du statt einer Tabelle eine Multi Column Listbox nimmst, hast du das Property "Allow Editing Cells", was genau das macht, was du willst.

VDB


Tabelle für Eingabe sperren - Lucki - 13.02.2008 12:07

Wenn es auf elegante Art nicht gehen sollte, dann gäbe es immer noch die Möglichkeit das Problem unelegant zu lösen: Du kopierst die Tabelle, so daß Du zwei identische Tabellen hast, mit einem einzigen Unterschied: die eine ist Control, die andere Indikator. Die beiden Tabelle setzt Du genau übereinander und sorgst für, daß sie immer die gleichen Daten haben. Mittels Steuerung über Property Nodes ist nur immer ein der beiden Tabellen sichtbar. Sie sind optisch nicht zu unterscheiden, außer eben dadurch, daß sich in der einen Tabelle die Werte ändern lassen, in der anderen nicht. (Nicht beirren lassen: Wenn das Programm nicht läuft. lassen sich auch Werte in den Indikator rein schreiben. Bei laufendem Programm geht das aber nicht).


Tabelle für Eingabe sperren - knochä - 13.02.2008 13:11

' schrieb:Wenn es auf elegante Art nicht gehen sollte, dann gäbe es immer noch die Möglichkeit das Problem unelegant zu lösen: Du kopierst die Tabelle, so daß Du zwei identische Tabellen hast, mit einem einzigen Unterschied: die eine ist Control, die andere Indikator. Die beiden Tabelle setzt Du genau übereinander und sorgst für, daß sie immer die gleichen Daten haben. Mittels Steuerung über Property Nodes ist nur immer ein der beiden Tabellen sichtbar. Sie sind optisch nicht zu unterscheiden, außer eben dadurch, daß sich in der einen Tabelle die Werte ändern lassen, in der anderen nicht. (Nicht beirren lassen: Wenn das Programm nicht läuft. lassen sich auch Werte in den Indikator rein schreiben. Bei laufendem Programm geht das aber nicht).

An diese Lösung habe ich auch schon mal gedacht. Hier hab ich jedoch den Nachteil, dass ich die Zeilenbeschriftung immer 2 mal eintragen muss.

Zu dem Vorschlag von VDB:

Hier hab ich das Problem das ich nicht nur Zahlen sondern auch Strings einlesen möchte (Pfad vom Prüfprotokoll...)


Tabelle für Eingabe sperren - VDB - 13.02.2008 14:02

' schrieb:An diese Lösung habe ich auch schon mal gedacht. Hier hab ich jedoch den Nachteil, dass ich die Zeilenbeschriftung immer 2 mal eintragen muss.

Zu dem Vorschlag von VDB:

Hier hab ich das Problem das ich nicht nur Zahlen sondern auch Strings einlesen möchte (Pfad vom Prüfprotokoll...)

Das geht genau so, du musst es nur an das Property ItemNames des MCL zuweisen, nicht direkt an das Kontrol, wie bei der Liste.

VDB


Tabelle für Eingabe sperren - knochä - 13.02.2008 14:38

' schrieb:Das geht genau so, du musst es nur an das Property ItemNames des MCL zuweisen, nicht direkt an das Kontrol, wie bei der Liste.

VDB

Wie meinst du das Genau, kannst du vielleicht einen Screenshot machen?

So in der Art sollte das VI später aus sehen


Tabelle für Eingabe sperren - VDB - 13.02.2008 15:05

Siehe Anhang. Das VI hat jetzt eine MCL. Überall im VI wo du eine Lokale Variabele der Liste verwendest musst du diese durch das Property "ItemNames" der MCL ersetzen. Beim Einlesen habe ich das schon gemacht.

LV 8.5

[attachment=11180]

VDB


Tabelle für Eingabe sperren - knochä - 13.02.2008 15:37

Dankeschön,

funktioniert einwandfrei.Guru1

Gruß Knochä


Tabelle für Eingabe sperren - knochä - 14.02.2008 14:08

' schrieb:Dankeschön,

funktioniert einwandfrei.Guru1

Gruß Knochä

Dachte ich auf jeden Fall....

Könnt ihr mir sagen wieso das Bedienfeld "Einstellungen Übernehmen" nicht deaktiv und grau hinterlegt wird sobald ich Tabelle bearbeiten drücke?
Außerdem kann ich trotz das ich Zellen bearbeiten auf True setzt die Tabelle nicht bearbeiten.

Lv85_img


Tabelle für Eingabe sperren - Achim - 14.02.2008 14:49

Hi,

du kannst nur dann Zellen bearbeiten, wenn du vorher schon was drin stehen hattest (auch ein Leerstring!)...nur initialisierte Felder kann man bearbeiten! Dazu muss erst die entsprechende Zeile gewählt werden (1. Klick), und dann nochmal die Zelle (2. Klick)...das ist mühsam, ich weiß! Ich habs bei die probiert, es klappt!

Das Button Einstellungen übernehmen wird aktiv bei Tabelle bearbeiten und deaktiv, sobald du ihn gedrück hast...und genau so hast du's programmiert!

Ein Tipp: Du färbst unten alles weiß...wenn du das auf einen Schlag machen möchtest, guck dir mal die Hilfe zu ActiveCell an...

Generell solltest du mal drüber nachdenken, ob du für deine Zustandswechsel (de-/aktiviert) nicht mit ner Eventstruktur (nur EINE!) arbeiten willst...

A.