void InitPage()
        {
            DataContext = this;
            InitializeComponent();
            localMenu.dataGrid = dgItemVariant;
            dgItemVariant.api  = api;
            SetRibbonControl(localMenu, dgItemVariant);
            dgItemVariant.BusyIndicator = busyIndicator;
            var standardVariants = api.GetCache(typeof(Uniconta.DataModel.InvStandardVariant));

            stdVariant = (InvStandardVariant)standardVariants?.Get(invItem._StandardVariant);
            if (stdVariant != null)
            {
                VariantSetup(colVariant1, colVariant2, colVariant3, colVariant4, colVariant5, stdVariant);
            }

            localMenu.OnItemClicked += localMenu_OnItemClicked;
        }
        public ItemVariantAddPage(DCOrderLineClient line, DCOrder master) : base(null)
        {
            DataContext = this;
            InitializeComponent();
            localMenu.dataGrid = dgItemVariant;
            dgItemVariant.api  = api;
            SetRibbonControl(localMenu, dgItemVariant);
            dgItemVariant.BusyIndicator = busyIndicator;

            this.master  = master;
            this.line    = line;
            this.invItem = line.InvItem;

            var standardVariants = api.GetCache(typeof(Uniconta.DataModel.InvStandardVariant));

            stdVariant = (InvStandardVariant)standardVariants?.Get(invItem._StandardVariant);
            if (stdVariant != null)
            {
                VariantSetup(colVariant1, colVariant2, colVariant3, colVariant4, colVariant5, stdVariant);
            }

            localMenu.OnItemClicked += localMenu_OnItemClicked;
        }
        public void VariantSetup(GridColumn Variant1, GridColumn Variant2, GridColumn Variant3, GridColumn Variant4, GridColumn Variant5, InvStandardVariant stdVariant)
        {
            var comp = api.CompanyEntity;
            int n    = stdVariant._Nvariants != 0 ? stdVariant._Nvariants : comp.NumberOfVariants;

            if (n >= 1)
            {
                Variant1.Header = stdVariant._Variant1Name ?? comp._Variant1;
            }
            else
            {
                Variant1.ShowInColumnChooser = Variant1.Visible = false;
            }
            if (n >= 2)
            {
                Variant2.Header = stdVariant._Variant2Name ?? comp._Variant2;
            }
            else
            {
                Variant2.ShowInColumnChooser = Variant2.Visible = false;
            }
            if (n >= 3)
            {
                Variant3.Header = stdVariant._Variant3Name ?? comp._Variant3;
            }
            else
            {
                Variant3.ShowInColumnChooser = Variant3.Visible = false;
            }
            if (n >= 4)
            {
                Variant4.Header = stdVariant._Variant4Name ?? comp._Variant4;
            }
            else
            {
                Variant4.ShowInColumnChooser = Variant4.Visible = false;
            }
            if (n >= 5)
            {
                Variant5.Header = stdVariant._Variant5Name ?? comp._Variant5;
            }
            else
            {
                Variant5.ShowInColumnChooser = Variant5.Visible = false;
            }
        }