[This is preliminary documentation and is subject to change.]

Occurs whenever the user leaves a row, before the RowChanged property occurs

Namespace:  Firefly.Box
Assembly:  Firefly.Box (in Firefly.Box.dll) Version: (


public event Action LeaveRow
Visual Basic (Declaration)
Public Event LeaveRow As Action
Visual C++
 event Action^ LeaveRow {
	void add (Action^ value);
	void remove (Action^ value);


When the user leaves the row (whether the row needs to be saved to the database or not) this event is raised and can be used for various operations.


UIController event flow
This example is based on test data. The code for the entities included in this test data can be found in the documentation of Entity
This example uses automatic tools to generate parts of the user interface. Those tools can be found in the example of the documentation of Form
using Firefly.Box;
using System.Windows.Forms;

namespace TestFirefly.Box.Documentation
    public class UIControllerEventFlow
        public void NormalEventFlow()
            var jobs = new Pubs.Jobs();

            var uic = new UIController
                From = jobs,
                View = UITools.GenerateFormWithGridFor("UIController events",
                                                       "notice that the SavingRow MessageBox only happens for rows that were changed" +
                                                       "\nAlso pay attention to the fact that the \"After The Run\" message " +
                                                       "will come only after the task ends",
            uic.Load += () => MessageBox.Show("Load");
            uic.Start += () => MessageBox.Show("Start");
            uic.EnterRow += () => MessageBox.Show("EnterRow");
            uic.LeaveRow += () => MessageBox.Show("LeaveRow");
            uic.SavingRow += (b) => MessageBox.Show("SavingRow");

            uic.End += () => MessageBox.Show("End");

            MessageBox.Show("Before The Run");
            MessageBox.Show("After The Run");

See Also