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); } }
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; }