Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
Hi an alle,
ich habe ein 2-D Array was ich in eine Tabelle packe. Nun möchte ich gern das zwei Spalten nicht editierbar und ausgegraut sind, die restlichen jedoch editiert werden könenn. Gibt es da einen möglichkeit? Bin für jeden Tip dankbar.
Wenn die Werte in der Tabelle immer am selben ort sind, könntest du ein transparentes Rechteck daruberlegen.
Dann ist es nicht mehr bedienbar, aber nicht ausgegraut.
.·´¯)--> Leben ist das, was dir passiert, wenn du eifrig dabei bist andere Pläne zu machen <--(¯`·.
' schrieb:Wenn die Werte in der Tabelle immer am selben ort sind, könntest du ein transparentes Rechteck daruberlegen.
Dann ist es nicht mehr bedienbar, aber nicht ausgegraut.
Ja...aber das ist halt nicht dynamisch...selbst wenn es sich immer um die gleichen Bereiche handelt: Programmatisch kommt man nachträglich nicht mehr dran!
Wenn es aber so der Fall ist, würde ich diese (Header?)-Werte einfach in nem separaten Indicator anzeigen!
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
27.08.2008, 14:51 (Dieser Beitrag wurde zuletzt bearbeitet: 27.08.2008 15:04 von Lucki.)
Andere Möglichkeiten:
Mit zwei Tabellen arbeiten. Die auf dem FP sichtbare Tabelle ist nur zum Bedienen und enthält die beiden Spalten gar nicht.
In der Tabelle nach jedem Editieren in den zwei Spalten wieder die ursprünglichen Werte setzen. Ein eventuelles Editieren hätte dann keine Folgen.
Eleganteste Möglichkeit: (?)
Es gibt die Eigenschaft "Aktive Zelle". Damit könnte man verhindern, daß unerwünschte Zellen überhaupt aktiviert werden können, bzw nicht länger als ein paar us: Wenn mit dem Eigenschaftskonten festgestellt wird, daß von Bediener eine "falsche" Zelle aktiviert wird, dann wird das schreibend verhindert, indem die ursprüngliche Aktivierung schnell wieder hergestellt qird.
1. Punkt: Zelle-Element einer Tabelle ausgrauen:
Ausgrauen geht nicht, aber was natürlich zur Laufzeit geht, ist die Hintergrundfarbe einer Zelle per PropertyNode zu setzen. Dazu Zelle per "Active Cell" auswählen, Farbe per "Cellbackground" setzen.
2. Punkt: Nicht editierbar:
Geht direkt (wie schon gesagt) nicht, entweder ist die Tabelle komplett editierbar oder nicht. Sowas müsste sich aber programmatisch machen lassen: Du musst nur feststellen, ob gerade ein Zellenelement editiert wird. Wenn das in einer Spalte ist, die du nicht editierbar haben willst, musst du entweder rausspringen oder nach dem Editiervorgang den Wert wieder zurücksetzen. Müsste irgendwie per Event-Struktur machbar sein.
MfG, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
' schrieb:12. Punkt: Nicht editierbar:
Geht direkt (wie schon gesagt) nicht, entweder ist die Tabelle komplett editierbar oder nicht. Sowas müsste sich aber programmatisch machen lassen: Du musst nur feststellen, ob gerade ein Zellenelement editiert wird. Wenn das in einer Spalte ist, die du nicht editierbar haben willst, musst du entweder rausspringen oder nach dem Editiervorgang den Wert wieder zurücksetzen. Müsste irgendwie per Event-Struktur machbar sein.
MfG, Jens
z.B so: (Starten und mit der Maus über die Tabelle fahren):
Ich danke für die schnelle Hilfe und die vielen Vorschläge. Ich werde mir nochmal alles durch den Kopf gehen lassen und schauen wie ich es am besten mache. Danke.