2017-04-06 13 views
0

J'ai une fenêtre de données. Et là j'ai une entrée. Je veux ajouter une nouvelle entrée, avec rbuttondown, mais cela ne fonctionne pas. Comment puis je faire ça? J'ai écrit ceci, mais c'est faux ...Problèmes d'insertion d'une nouvelle motorisation de rangée

IF row > 0 THEN 
    //This.SetRow(row) 
    This.SelectRow(0, FALSE) 
    This.SelectRow(row, TRUE) 
    //this.ScrollToRow(row) 
    parent.TriggerEvent("ue_agregar") 
END IF 

Merci!

Répondre

1

Vous devez définir le menu avec votre option 'Nouveau' qui devrait alors déclencher la méthode insertrow et tout autre code que vous souhaitez exécuter.

Vous affichez le menu via la méthode PopMenu comme celui-ci (De l'aide PowerBuilder):

Si le menu est associé à la fenêtre Si le menu est associé à la fenêtre, vous pouvez simplement appeler la fonction PopMenu.

La déclaration suivante dans un script CommandButton affiche m_help comme un menu contextuel à la position actuelle du pointeur, en supposant le menu m_help est déjà associé à la fenêtre:

m_help.PopMenu(PointerX(), PointerY()) 

Si le menu est pas associé à la fenêtre Si le menu n'est pas déjà associé à la fenêtre, vous devez créer une instance du menu avant de pouvoir l'afficher en tant que menu contextuel.

Les instructions suivantes créent une instance du menu m_new, puis faire apparaître le m_new de menu à l'emplacement du pointeur, en supposant m_new est pas associée à la fenêtre contenant le script:

m_new mymenu 
mymenu = create m_new 
mymenu.PopMenu(PointerX(), PointerY()) 
1

Pour insérer une nouvelle ligne, vous devez utiliser la fonction suivante ...

ll_row = This.InsertRow(0)

La fonction retourne la ligne elle insérée. Vous pouvez ensuite l'utiliser pour faire défiler ou sélectionner la nouvelle ligne.

+0

Oui, mais je l'utilise rbuttondown un événement. Je veux appuyer sur le bouton droit de la souris, puis sur "Nouveau", et ensuite insérer une nouvelle entrée. Je veux juste voir l'entrée précédente aussi. –

+0

Mon problème est que lorsque j'appuie sur clic droit, il apparaît un menu avec "Copier", "Coller", "Couper" les options, et après cela quand j'appuie sur le clic gauche, il apparaît "Nouveau". C'est un comportement étrange et je ne sais pas pourquoi. Je veux juste appuyer sur le bouton droit de la souris, puis sur "Nouveau". –