Example #1
0
        public override string GetTitle(UIPickerView picker, nint row, nint component)
        {
            // ----------------------------------------------------------------------------
            switch (component)
            {
            case 0:
                if (row == 0)
                {
                    return("Choose year");
                }
                else
                {
                    return(yearList[(int)row - 1]);
                }

            case 1:
                if (row == 0)
                {
                    return("Choose team");
                }
                else
                {
                    CTeamRecord t = teamList[(int)row - 1];
                    return($"{t.LgID} - {t.City} {t.NickName}");
                }

            default: return(null);
            }
        }
Example #2
0
        public void SetupPicker()
        {
            // ----------------------

            // Set up picker and model...
            // Note: We need separate models for V & H because need to update
            // separate TextField's...
            var modelBottomV = new CPickerModel(yearList, this);
            var modelBottomH = new CPickerModel(yearList, this);

            // Instantiate the events with handlers...
            modelBottomV.PickerChanged += delegate(CTeamRecord t, bool valid) {
                selectedTeam     = t;
                selectedTeams[0] = t;
                txtTeamV.Text    = valid ? $"{t.Year} {t.LineName} {t.NickName}" : "";
                cmdDone.Enabled  = (txtTeamV.Text != "" && txtTeamH.Text != "");
            };

            modelBottomH.PickerChanged += delegate(CTeamRecord t, bool valid) {
                selectedTeam     = t;
                selectedTeams[1] = t;
                txtTeamH.Text    = valid ? $"{t.Year} {t.LineName} {t.NickName}" : "";
                cmdDone.Enabled  = (txtTeamV.Text != "" && txtTeamH.Text != "");
            };

            // Setup 2 picker views...
            UIPickerView pickerBottomV = new UIPickerView();

            pickerBottomV.ShowSelectionIndicator = true;
            pickerBottomV.Model = modelBottomV;
            UIPickerView pickerBottomH = new UIPickerView();

            pickerBottomH.ShowSelectionIndicator = true;
            pickerBottomH.Model = modelBottomH;

            // Set up 2 toolbars...
            var tbV = new UIToolbar();

            tbV.BarStyle    = UIBarStyle.Black;
            tbV.Translucent = true;
            tbV.SizeToFit();

            var tbH = new UIToolbar();

            tbH.BarStyle    = UIBarStyle.Black;
            tbH.Translucent = true;
            tbH.SizeToFit();


            // Create 2 'Done' buttons and add them to respective toobar...
            var cmdDoneV = new UIBarButtonItem("Done", UIBarButtonItemStyle.Done,
                                               (s, e) => {
                this.txtTeamV.Text    = $"{selectedTeam.Year} {selectedTeam.LineName} {selectedTeam.NickName}";
                this.selectedTeams[0] = selectedTeam;
                this.txtTeamV.ResignFirstResponder();
            });

            tbV.SetItems(new UIBarButtonItem [] { cmdDoneV }, true);

            var cmdDoneH = new UIBarButtonItem("Done", UIBarButtonItemStyle.Done,
                                               (s, e) => {
                this.txtTeamH.Text    = $"{selectedTeam.Year} {selectedTeam.LineName} {selectedTeam.NickName}";
                this.selectedTeams[1] = selectedTeam;
                this.txtTeamH.ResignFirstResponder();
            });

            tbH.SetItems(new UIBarButtonItem [] { cmdDoneH }, true);

            // Tell the textbox's to use the pickers for input & display toolbar
            // over it...
            this.txtTeamV.InputView          = pickerBottomV;
            this.txtTeamV.InputAccessoryView = tbV;
            this.txtTeamH.InputView          = pickerBottomH;
            this.txtTeamH.InputAccessoryView = tbH;
        }