UIControllerStartOnRowWhere Property

Determines the row on which the UIController will start on.

Definition

Namespace: Firefly.Box
Assembly: Firefly.Box (in Firefly.Box.dll) Version: debug-master-v:33791
C#
public FilterCollection StartOnRowWhere { get; }

Property Value

FilterCollection

Remarks

Performance tip - Any StartOnRowWhere filter that is based only on columns that are part of the Task Main Query(*) will be performed by the database.
Parts of the {0} that are not part of the Task Main Query
will be performed in memory, resulting in a performance penalty in cases where many rows are involved
(*)Task Main Query - includes the entity defined in the From property, and any entity that is part of a relation (as defined in the Relations property collection) that is of type Join or OuterJoin

Example

Start On Row
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
C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Firefly.Box;

namespace TestFirefly.Box.Documentation
{
    class StartOnRowWhereDemo
    {
        public void Run()
        {
            var jobs = new Pubs.Jobs();
            jobs.InitializeWithTestData();

            var uic = new UIController()
            {
                From = jobs,
                View = UITools.GenerateFormWithGridFor("Start On Row Where",
                                                       "As you can see, the UIController started by parking on a job with id 5.\n"+
                                                       "as specified in the line:\n"+
                                                       "uic.StartOnRowWhere.Add(jobs.Id.IsEqualTo(5)); ",
                                                       jobs.Id,
                                                       jobs.Description,
                                                       jobs.MinLevel,
                                                       jobs.MaxLevel)
            };

            uic.StartOnRowWhere.Add(jobs.Id.IsEqualTo(5));
            uic.Run();
        }
    }
}

See Also