INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Drag&Drop bei Listenfeld



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!

20.11.2007, 09:58
Beitrag #1

s200rs Abwesend
LVF-Gelegenheitsschreiber
**


Beiträge: 75
Registriert seit: Jul 2005

7.1 / 8.5.1
2002
DE

02826
Deutschland
Drag&Drop bei Listenfeld
Hallo,

ich wollte gerne aus einem Listenfeld Zeilen per Drag auswählen und in ein zweites per Drop einfügen. Das ganze funktioniert auch soweit.

Nun wäre es hilfreich, wenn an der Stelle bzw. Zeile, wo ich die gezogene Zeile in dem zweiten Feld einfügen möchte, eine Markierung (z.B. eine Trennlinie) erscheinen würde, damit man zweifelsfrei sehen kann, zwischen welchen vorhandenen Zeilen die neue eingeordnet wird (z.B. gibt es so etwas bei Case-Strukturen im Menü "Cases neu anordnen...").

Weiß jemand, ob es da schon eine vorgefertigte Routine gibt, oder wie man anders so etwas erstellen kann?

________________

LV 7.1; 8.5
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.11.2007, 10:07
Beitrag #2

Achim Offline
*****
*****


Beiträge: 4.222
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Drag&Drop bei Listenfeld
Hi,
das würde mich auch interessieren...ich hab's bisher immer nur geschafft, den neuen Inhalt unten dran zu hängen.

Wie hast du's zwischen rein bekommen?

Gruß
Achim

"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)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.11.2007, 10:38
Beitrag #3

s200rs Abwesend
LVF-Gelegenheitsschreiber
**


Beiträge: 75
Registriert seit: Jul 2005

7.1 / 8.5.1
2002
DE

02826
Deutschland
Drag&Drop bei Listenfeld
' schrieb:Wie hast du's zwischen rein bekommen?

das war ja eigentlich die leichteste Aufgabe.
Ich verwende eine Event-Struktur, beim Event "Ablegen" im Ziel-Listenfeld erhalte ich links im Ereignisdaten-Knoten die Koordinaten des Mauszeigers im Moment des Events. Über eine Verhältnisrechnung von Listenfeld-Höhe, y- Koordinate der Maus und Zeilenanzahl der Liste habe ich ausrechnen lassen, auf welcher Zeile der Mauszeiger steht und an dieser Stelle in das Array "Objekt-Namen" des Listenfeldes den neuen String eingefügt.Tippen

Natürlich geht das ganze auch einfacher Blush. Auf der Suche nach einer Lösung für obiges Problem bin ich heut drauf gestoßen, daß es eine Methode für Listenfelder gibt, welche die Zeilennummer in Abhängigkeit der Mausposition berechnet.

Funktioniert auch soweit, man muß in beiden Fällen am Ende nur eine Unterscheidung machen, ob die errechnete Zeilennummer größer als die Anzahl der Objektnamen / belegten Zeilen der Liste ist. Wenn ja (also als Beispiel in ein Array von 5 Elementen ein neues an Index 10 einfügen erzeugt einen Fehler), muß als Index die Größe des Arrays übergeben werden, damit das neue Element ans Ende angehängt wird. Wenn nein dann wird die errechnete Zeile als Einfüge-Index übergeben.

Nur dumm ist eben, daß man nicht genau den Übergang zwischen den Zeilen nicht sieht und somit manchmal der String in der falschen Zeile eingefügt wird. Daher wäre eine Markierung nicht schlecht. (Geht ja irgendwie, aber wie?)

________________

LV 7.1; 8.5
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.11.2007, 11:20
Beitrag #4

Achim Offline
*****
*****


Beiträge: 4.222
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Drag&Drop bei Listenfeld
' schrieb:Nur dumm ist eben, daß man nicht genau den Übergang zwischen den Zeilen nicht sieht und somit manchmal der String in der falschen Zeile eingefügt wird. Daher wäre eine Markierung nicht schlecht. (Geht ja irgendwie, aber wie?)

Hi,
ich hab das jetzt mal mit der von dir vorgeschlagenen Methode "Point To Row Column" gemacht und auch die Unterscheidung "hintendran oder mittenrein" gleich eingebaut...funktioniert tatsächlich tadellos!

Und: Bei mir (LV8.5) wir der von dir gewünschte Trennstrich (= "Ist-Position") angezeigt! Ich musste nur noch ein "+1" an die ausgegebene Row der genannten Methode machen, dann passt's!

GEIL!

Siehe den Trennstrich auf dem Bild:

   

Gruß
Achim

"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)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.11.2007, 12:09
Beitrag #5

s200rs Abwesend
LVF-Gelegenheitsschreiber
**


Beiträge: 75
Registriert seit: Jul 2005

7.1 / 8.5.1
2002
DE

02826
Deutschland
Drag&Drop bei Listenfeld
' schrieb:ich hab das jetzt mal mit der von dir vorgeschlagenen Methode "Point To Row Column" gemacht und auch die Unterscheidung "hintendran oder mittenrein" gleich eingebaut...funktioniert tatsächlich tadellos!

Und: Bei mir (LV8.5) wir der von dir gewünschte Trennstrich (= "Ist-Position") angezeigt!
OK, ist ja schön, wenn ich Dir helfen konnte und wenn's klappt Lol.

Hab auch bei mir das Inkrement eingefügt, aber das beeinflußt ja nur die Zeilennummer.
Aber der Strich erscheint bei mir nicht.

Vielleicht liegt das Problem ja woanders, denn bei mir erscheint das Verboten-Symbol, auch wenn ich mit der Maus über das Listenfeld fahre. Ich habe aber die Eigenschaft "Ablegen möglich" dieses Listenfeldes aktiviert, und trotzdem verschwindet das Symbol nicht.

Vielleicht liegt's ja daran. Vielleicht verwandelt sich der Cursor von dem Verboten-Symbol außerhalb des Feldes ja in die Trennlinie, wenn er in den Bereich der Listenfeldes kommt.

Aber wie stelle ich das an? Wie geht das bei Dir?

________________

LV 7.1; 8.5
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.11.2007, 12:33
Beitrag #6

Achim Offline
*****
*****


Beiträge: 4.222
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Drag&Drop bei Listenfeld
' schrieb:Aber wie stelle ich das an? Wie geht das bei Dir?

Hi,

folgende Einstellungen hab ich an der MultiColumnListbox:

   


Verwenden tu ich das Event "Drop", so lese ich die Daten:

   


Bist du jetzt schlauer?

A.

"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)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.11.2007, 13:12
Beitrag #7

s200rs Abwesend
LVF-Gelegenheitsschreiber
**


Beiträge: 75
Registriert seit: Jul 2005

7.1 / 8.5.1
2002
DE

02826
Deutschland
Drag&Drop bei Listenfeld
Hallo,

danke, jetzt klappt's bei mir auch.

ich hatte die Eigenschaft "Allow Drag Drop Outside Control"/"Ablegen außerhalb von Elementen möglich" aus dem Frontpanel-Menü so interpretiert, daß dadurch ermöglicht wird, Daten aus der Liste herauszuziehen und außerhalb abzulegen. Noch blöder ist die Formulierung dieser Eigenschaft im Eigenschaftsknoten des Blockdiagramms. Dort heißt das ganze "Ziehen aus Element zulassen". Und da ich das nicht will, habe ich diese Eigenschaft deaktiviert.

   

Ist halt ziemlich irreführend aus der englischen Version übersetzt. Es müßte dann eher heißen: "Ablegen von Daten von außerhalb des Elements möglich" oder so in der Art.

Danke noch mal für die Info

________________

LV 7.1; 8.5
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.11.2007, 17:39
Beitrag #8

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Drag&Drop bei Listenfeld
' schrieb:Hallo,

danke, jetzt klappt's bei mir auch.

ich hatte die Eigenschaft "Allow Drag Drop Outside Control"/"Ablegen außerhalb von Elementen möglich" aus dem Frontpanel-Menü so interpretiert, daß dadurch ermöglicht wird, Daten aus der Liste herauszuziehen und außerhalb abzulegen. Noch blöder ist die Formulierung dieser Eigenschaft im Eigenschaftsknoten des Blockdiagramms. Dort heißt das ganze "Ziehen aus Element zulassen". Und da ich das nicht will, habe ich diese Eigenschaft deaktiviert.

[attachment=36801:_bersetzungsfehler.gif]

Ist halt ziemlich irreführend aus der englischen Version übersetzt. Es müßte dann eher heißen: "Ablegen von Daten von außerhalb des Elements möglich" oder so in der Art.

Danke noch mal für die Info
:offtopic:Wieder mal ein klares Argument für die englische Version von LabVIEWHehe

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!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.12.2007, 11:06
Beitrag #9

abrissbirne Offline
LVF-Stammgast
***


Beiträge: 480
Registriert seit: Aug 2007

LV2009, LV2010
2007
EN

66123
Deutschland
Drag&Drop bei Listenfeld
Auch wenn es nix mit dem Listenfeld zu tun hat wollte ich keinen neuen Thread eröffnen. Habe ein Drag and Drop Prob bei einer Tabelle. Ich möchte Einträge innerhalb der Tabelle verschieben können. Dazu hab ich das im Bild zu sehende VI gebaut. Die Daten die ich mit der Funktion Get Drop Data bekomme sind richtig, aber er fügt sie nicht ein.


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.12.2007, 11:34 (Dieser Beitrag wurde zuletzt bearbeitet: 17.12.2007 11:38 von Achim.)
Beitrag #10

Achim Offline
*****
*****


Beiträge: 4.222
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Drag&Drop bei Listenfeld
' schrieb:Auch wenn es nix mit dem Listenfeld zu tun hat wollte ich keinen neuen Thread eröffnen. Habe ein Drag and Drop Prob bei einer Tabelle. Ich möchte Einträge innerhalb der Tabelle verschieben können. Dazu hab ich das im Bild zu sehende VI gebaut. Die Daten die ich mit der Funktion Get Drop Data bekomme sind richtig, aber er fügt sie nicht ein.

Das liegt wohl daran, dass du "ReplaceArraySubset" verwendet hast...und Replace geht nur, wenn du ein (2D-String-) Array vorher entsprechend groß initialisiert hast!

A.

"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)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Koordinaten Listenfeld simcum 5 3.352 18.01.2022 16:43
Letzter Beitrag: jg
  Objektsymbole ändern/Listenfeld modes 3 2.932 14.11.2019 08:57
Letzter Beitrag: modes
  Spaltenanzahl ändern bei mehrspaltigem Listenfeld Odie 7 4.745 09.05.2019 16:31
Letzter Beitrag: Freddy
  Schriftart für dynamisches mehrspaltiges Listenfeld ändern SPS-Fuzzi 2 3.873 18.12.2017 13:11
Letzter Beitrag: SPS-Fuzzi
  Datei über Drag & Drop in andere Anwendung (kein LabVIEW) verschieben ahebauer 2 3.111 29.03.2017 08:41
Letzter Beitrag: ahebauer
  Mehrspaltiges Listenfeld mit "Elementwerte indexweise festlegen" füllen C.Maier 3 4.626 12.01.2017 15:09
Letzter Beitrag: C.Maier

Gehe zu: