protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            var dummyPersonWithNoJobs = Person.CreateObject();

            dummyPersonWithNoJobs.Jobs = new Job[0];
            EmptyObject.BusinessObject = (IBusinessObject)dummyPersonWithNoJobs;
            EmptyObject.LoadValues(false);

            var view1 = new BocListView {
                ItemID = "ViewCmd1", Title = "View 1"
            };
            var view2 = new BocListView {
                ItemID = "ViewCmd2", Title = "View 2"
            };

            JobList_Normal.AvailableViews.AddRange(view1, view2);
            JobList_Normal.SelectedView = view2;

            JobList_Normal.MenuItemClick              += MenuItemClickHandler;
            JobList_Normal.SortingOrderChanged        += SortingOrderChangedHandler;
            JobList_Normal.EditableRowChangesSaved    += EditableRowChangedSavedHandler;
            JobList_Normal.EditableRowChangesCanceled += EditableRowChangesCanceledHandler;
            JobList_Normal.ListItemCommandClick       += ListItemCommandClickHandler;
            JobList_Normal.CustomCellClick            += CustomCellClickHandler;
        }
        private void InitializeListFieldViews()
        {
            IBusinessObjectProperty endDate = ListField.Property.ReferenceClass.GetPropertyDefinition("EndDate");

            BocSimpleColumnDefinition endDateColumnDefinition = new BocSimpleColumnDefinition();

            endDateColumnDefinition.ColumnTitle = "EndDate";
            endDateColumnDefinition.SetPropertyPath(BusinessObjectPropertyPath.CreateStatic(new[] { endDate }));

            BocListView emptyView = new BocListView();

            emptyView.Title = "Empty";
            emptyView.ColumnDefinitions.AddRange(new BocColumnDefinition[] {});

            BocListView datesView = new BocListView();

            datesView.Title = "Dates";
            datesView.ColumnDefinitions.AddRange(new BocColumnDefinition[] { endDateColumnDefinition });

            ListField.AvailableViews.AddRange(new BocListView[] { emptyView, datesView });
        }
        override protected void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            IBusinessObjectProperty dateOfBirth = CurrentObject.BusinessObjectClass.GetPropertyDefinition("DateOfBirth");
            IBusinessObjectProperty dateOfDeath = CurrentObject.BusinessObjectClass.GetPropertyDefinition("DateOfDeath");
            IBusinessObjectProperty height      = CurrentObject.BusinessObjectClass.GetPropertyDefinition("Height");
            IBusinessObjectProperty gender      = CurrentObject.BusinessObjectClass.GetPropertyDefinition("Gender");
            IBusinessObjectProperty cv          = CurrentObject.BusinessObjectClass.GetPropertyDefinition("CV");
            IBusinessObjectProperty income      = CurrentObject.BusinessObjectClass.GetPropertyDefinition("Income");


            //  Additional columns, in-code generated

            BocSimpleColumnDefinition birthdayColumnDefinition = new BocSimpleColumnDefinition();

            birthdayColumnDefinition.ColumnTitle = "Birthday";
            birthdayColumnDefinition.SetPropertyPath(BusinessObjectPropertyPath.CreateStatic(new [] { dateOfBirth }));

            BocSimpleColumnDefinition dayofDeathColumnDefinition = new BocSimpleColumnDefinition();

            dayofDeathColumnDefinition.ColumnTitle = "Day of Death";
            dayofDeathColumnDefinition.SetPropertyPath(BusinessObjectPropertyPath.CreateStatic(new [] { dateOfDeath }));
            dayofDeathColumnDefinition.Width        = Unit.Parse("9.1em", CultureInfo.InvariantCulture);
            dayofDeathColumnDefinition.EnforceWidth = true;

            BocSimpleColumnDefinition heightColumnDefinition = new BocSimpleColumnDefinition();

            heightColumnDefinition.SetPropertyPath(BusinessObjectPropertyPath.CreateStatic(new [] { height }));

            BocSimpleColumnDefinition genderColumnDefinition = new BocSimpleColumnDefinition();

            genderColumnDefinition.SetPropertyPath(BusinessObjectPropertyPath.CreateStatic(new [] { gender }));

            BocSimpleColumnDefinition cvColumnDefinition = new BocSimpleColumnDefinition();

            cvColumnDefinition.SetPropertyPath(BusinessObjectPropertyPath.CreateStatic(new [] { cv }));

            BocSimpleColumnDefinition incomeColumnDefinition = new BocSimpleColumnDefinition();

            incomeColumnDefinition.SetPropertyPath(BusinessObjectPropertyPath.CreateStatic(new [] { income }));

            BocListView datesView = new BocListView();

            datesView.Title = "Dates";
            datesView.ColumnDefinitions.AddRange(
                new BocColumnDefinition[] { birthdayColumnDefinition, dayofDeathColumnDefinition });

            BocListView statsView = new BocListView();

            statsView.Title = "Stats";
            statsView.ColumnDefinitions.AddRange(
                new BocColumnDefinition[] { heightColumnDefinition, genderColumnDefinition });

            BocListView cvView = new BocListView();

            cvView.Title = "CV";
            cvView.ColumnDefinitions.AddRange(
                new BocColumnDefinition[] { cvColumnDefinition });

            BocListView incomeView = new BocListView();

            incomeView.Title = "Income";
            incomeView.ColumnDefinitions.AddRange(
                new BocColumnDefinition[] { incomeColumnDefinition });

            ChildrenList.AvailableViews.AddRange(new BocListView[] {
                datesView,
                statsView,
                cvView,
                incomeView
            });

            if (!IsPostBack)
            {
                ChildrenList.SelectedView = datesView;
            }

            if (!IsPostBack)
            {
//      ChildrenList.SetSortingOrder (
//          new BocListSortingOrderEntry[] {
//              new BocListSortingOrderEntry ((BocColumnDefinition) ChildrenList.FixedColumns[7], SortingDirection.Ascending) });
            }

            if (!IsPostBack)
            {
                ChildrenList.SwitchListIntoEditMode();
            }

            if (!IsPostBack)
            {
                NumberOfNewRowsField.Value = 1;
            }
            NumberOfNewRowsField.IsDirty = false;
        }
  override protected void OnLoad (EventArgs e)
  {
    base.OnLoad (e);

    IBusinessObjectProperty dateOfBirth = CurrentObject.BusinessObjectClass.GetPropertyDefinition ("DateOfBirth");
    IBusinessObjectProperty dateOfDeath = CurrentObject.BusinessObjectClass.GetPropertyDefinition ("DateOfDeath");
    IBusinessObjectProperty height = CurrentObject.BusinessObjectClass.GetPropertyDefinition ("Height");
    IBusinessObjectProperty gender = CurrentObject.BusinessObjectClass.GetPropertyDefinition ("Gender");
    IBusinessObjectProperty cv = CurrentObject.BusinessObjectClass.GetPropertyDefinition ("CV");
    IBusinessObjectProperty income = CurrentObject.BusinessObjectClass.GetPropertyDefinition ("Income");


    //  Additional columns, in-code generated

    BocSimpleColumnDefinition birthdayColumnDefinition = new BocSimpleColumnDefinition();
    birthdayColumnDefinition.ColumnTitle = "Birthday";
    birthdayColumnDefinition.SetPropertyPath (BusinessObjectPropertyPath.CreateStatic (new []{dateOfBirth}));
    birthdayColumnDefinition.Width = Unit.Parse ("14em");
    birthdayColumnDefinition.EnforceWidth = true;

    BocSimpleColumnDefinition dayofDeathColumnDefinition = new BocSimpleColumnDefinition();
    dayofDeathColumnDefinition.ColumnTitle = "Day of Death";
    dayofDeathColumnDefinition.SetPropertyPath (BusinessObjectPropertyPath.CreateStatic (new []{dateOfDeath}));
    dayofDeathColumnDefinition.Width = Unit.Parse ("7em");
    dayofDeathColumnDefinition.EnforceWidth = true;

    BocSimpleColumnDefinition heightColumnDefinition = new BocSimpleColumnDefinition();
    heightColumnDefinition.SetPropertyPath (BusinessObjectPropertyPath.CreateStatic (new []{height}));

    BocSimpleColumnDefinition genderColumnDefinition = new BocSimpleColumnDefinition();
    genderColumnDefinition.SetPropertyPath (BusinessObjectPropertyPath.CreateStatic (new []{gender}));

    BocSimpleColumnDefinition cvColumnDefinition = new BocSimpleColumnDefinition();
    cvColumnDefinition.SetPropertyPath (BusinessObjectPropertyPath.CreateStatic (new []{cv}));
    cvColumnDefinition.FormatString = "lines=3";

    BocSimpleColumnDefinition incomeColumnDefinition = new BocSimpleColumnDefinition();
    incomeColumnDefinition.SetPropertyPath (BusinessObjectPropertyPath.CreateStatic (new []{income}));

    BocListView datesView = new BocListView();
    datesView.Title = "Dates";
    datesView.ColumnDefinitions.AddRange (new BocColumnDefinition[] {birthdayColumnDefinition, dayofDeathColumnDefinition});

    BocListView statsView = new BocListView();
    statsView.Title = "Stats";
    statsView.ColumnDefinitions.AddRange (new BocColumnDefinition[] {heightColumnDefinition, genderColumnDefinition});

    BocListView cvView = new BocListView();
    cvView.Title = "CV";
    cvView.ColumnDefinitions.AddRange (new BocColumnDefinition[] {cvColumnDefinition});

    BocListView incomeView = new BocListView();
    incomeView.Title = "Income";
    incomeView.ColumnDefinitions.AddRange (new BocColumnDefinition[] {incomeColumnDefinition});

    ChildrenList.AvailableViews.AddRange (new BocListView[] {
      datesView,
      statsView,
      cvView,
      incomeView});

    if (! IsPostBack)
      ChildrenList.SelectedView = datesView;

    if (!IsPostBack)
    {
      ChildrenList.SetSortingOrder (
          new BocListSortingOrderEntry[] {
              new BocListSortingOrderEntry ((IBocSortableColumnDefinition) ChildrenList.FixedColumns[7], SortingDirection.Ascending) });
    }
    if (IsPostBack)
    {
//      BocListSortingOrderEntry[] sortingOrder = ChildrenList.GetSortingOrder();
    }

    if (!IsPostBack)
    {
      JobList.SetSelectedRows (new[] { 1 });
      ChildrenList.SetSelectedBusinessObjects (new[] { ChildrenList.Value[1] });
    }
  }