Drag&Drop von Entities in Referenzfelder
Informationen
- Kategorien: GUI | DragDrop
- Version: 14.0.0.2335
- Veröffentlichungsdatum: Mittwoch, 2. Februar 2011
- Entwickler: Schulze
- Benötigt Datenbankänderung: Nein
- Betreff: Drag&Drop von Entities in Referenzfelder
Beschreibung
Drag&Drop von einem Entity ist jetzt möglich:
- innerhalb einer Programminstanz
- zwischen 2 beliebigen Programminstanzen
Quelle kann sein:
- Baum (Kontextbaumebene)
- Tabelle
- Karteikarte
- Favoriteneintrag
Ziel kann sein:
- Referenz-/Katalog-Steuerelement
Wenn das Entity über das Steuerelement gezogen wird, wird ein Ereignis (Event) aufgerufen, in diesem kann man das Infofenster (Text, Titel, Bild) beeinfussen bzw. Drag&Drop abschalten. Wenn das Entity fallen gelassen ("gedroppt") wird, wird das selbe Ereignis noch einmal aufgerufen, hier kann man das Zuweisen des Entity im Referenz-Attribut verhindern.
Bilder
Beispielcode
int onEvent_EntityDragDrop( int $nDragDropMode,
int $nIndex,
int $nCount,
entity $eDroppedEntity,
string $sTargetComplexAttributeName,
byref string $sDragOverMessage,
byref string $sDragOverTitle,
byref string $sDragOverImagePath,
string $sErrorMessage)
{
var ::Company $eCompany;
if( $nDragDropMode == 1 ) // DragOver
{
// the entity is dragging over the reference/catalog control
//
// $sDragOverMessage = "...";
// $sDragOverTitle = "...";
return 1;
}
else if( $nDragDropMode == 2 ) // Dropped
{
// the entity was dropped of the reference/catalog control
//
if( IsKindOf( $eDroppedEntity, "Company" ) && MakeLower( $sTargetComplexAttributeName ) == "ref_contact_person_of" )
{
$eCompany = $eDroppedEntity;
if( MessageBox( "Soll folgendes Unternehmen hier zugeordnet werden?:\n\n" + $eCompany.Name_number, 32 + 4 ) != 1 )
{
return 0;
}
}
return 1;
}
return 0;
}