예제 #1
0
        public override void Selected(UIPickerView pickerView, nint row, nint component)
        {
            if (component == YearComponentIndex)
            {
                SelectedYear = (int)pickerView.SelectedRowInComponent(YearComponentIndex);

                if (this.PickerView.CustomDatePicker?.DatePicker?.HasDay == true)
                {
                    pickerView.ReloadComponent(DayComponentIndex);
                }

                if (this.PickerView.CustomDatePicker?.DatePicker?.HasMonth == true)
                {
                    pickerView.ReloadComponent(MonthComponentIndex);
                }
            }
            else if (component == MonthComponentIndex)
            {
                SelectedMonth = (int)pickerView.SelectedRowInComponent(MonthComponentIndex);

                if (this.PickerView.CustomDatePicker?.DatePicker?.HasDay == true)
                {
                    pickerView.ReloadComponent(DayComponentIndex);
                }
            }
            else
            {
                SelectedDay = (int)pickerView.SelectedRowInComponent(DayComponentIndex);
            }

            YearModel yearModel = this.PickerView.Years[SelectedYear];

            if (yearModel.Months.Count <= 0)
            {
                return;
            }

            MonthModel monthModel = yearModel.Months[SelectedMonth];

            if (monthModel.Days.Count <= 0)
            {
                return;
            }

            SelectedDay = SelectedDay >= monthModel.Days.Count ? monthModel.Days.Count - 1 : SelectedDay;

            DayModel dayModel = monthModel.Days[SelectedDay];

            SelectedItem = yearModel.Year + "-" + monthModel.Month + "-" + dayModel.Day;

            if (!string.IsNullOrEmpty(SelectedItem))
            {
                this.PickerView.SelectedPropertyChanged(SelectedItem);
            }
        }
예제 #2
0
 protected virtual void CollectionChangedOnCollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
 {
     // just hope this isn't called while the picker is displayed...
     Mvx.Trace(
         "CollectionChanged called inside MvxPickerViewModel - beware that this isn't full tested - picker might not fully support changes while the picker is visible");
     _pickerView.ReloadComponent(0);
 }
예제 #3
0
            public override void Selected(UIPickerView pickerView, nint row, nint component)
            {
                if (component == 0)
                {
                    SelectedIndex = (int)pickerView.SelectedRowInComponent(0);

                    pickerView.ReloadComponent(1);
                }

                // 获取选中的group
                GroupModel p = _pickerView.SelectedSource[SelectedIndex];

                if (p.Property.Count <= 0)
                {
                    return;
                }

                // 获取选中的property
                int index = (int)pickerView.SelectedRowInComponent(1);

                SelectedItem = p.GroupName + "-" + p.Property[index].Name;


                if (!string.IsNullOrEmpty(SelectedItem))
                {
                    _pickerView.OnSelectedPropertyChanged(_pickerView, SelectedItem);
                }
            }
        public override void Selected(UIPickerView picker, nint row, nint component)
        {
            if (DeliveryDays.IsNullOrEmpty() || (int)row >= DeliveryDays.Count)
            {
                return;
            }

            if (component == 0)
            {
                SelectedDay = DeliveryDays[(int)row];

                picker.ReloadComponent(1);

                var sameValueRow = SelectedDay?.Times?.FindIndex(x => x.Name.Equals(SelectedTime?.Name)) ?? -1;
                var newTimeRow   = (sameValueRow > 0 ? sameValueRow : 0);

                picker.Select(newTimeRow, 1, true);
                SelectedTime = SelectedDay.Times[newTimeRow];
            }
            else
            {
                SelectedTime = SelectedDay.Times[(int)row];
            }

            SelectedItem = SelectedTime;
            if (SelectedChangedCommand != null && SelectedChangedCommand.CanExecute(SelectedItem))
            {
                SelectedChangedCommand.Execute(SelectedItem);
            }
        }
 public override void Selected(UIPickerView pickerView, nint row, nint component)
 {
     if (component == 0)
     {
         selectedRow = pickerView.SelectedRowInComponent(component);
         pickerView.ReloadComponent(1);
         pickerView.Select(0, 1, true);
     }
 }
 /// <summary>
 /// called when a row is selected in the spinner
 /// </summary>
 public override void Selected(UIPickerView pickerView, nint row, nint component)
 {
     this.selectedIndex = (nint)row;
     pickerView.ReloadComponent(component);
     if (this.ValueChanged != null)
     {
         this.ValueChanged(this, new EventArgs());
     }
 }
예제 #7
0
        /// <summary>
        /// Reloads the component.
        /// </summary>
        /// <returns>The component.</returns>
        /// <param name="pickerColumn">Picker column.</param>
        public void ReloadComponent(IPickerColumn pickerColumn)
        {
            var idx = columns.IndexOf(pickerColumn);

            if (idx >= 0 && PickerView != null)
            {
                PickerView.ReloadComponent(idx);
            }
        }
예제 #8
0
        public override void Selected(UIPickerView pickerView, nint row, nint component)
        {
            this.selectedRow[(int)component] = (int)row;

            if ((int)component < this.componentCount - 1)
            {
                selectedRow[(int)component] = (int)pickerView.SelectedRowInComponent(component);
                for (int i = (int)component; i < componentCount - 1; i++)
                {
                    pickerView.ReloadComponent(i + 1);
                    pickerView.Select(0, i + 1, true);
                    selectedRow[i + 1] = 0;
                }
            }
        }
        private void BareUISimplePickerWithMultipleComponentsViewModel_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
        {
            int index = 0;

            foreach (var c in Collections)
            {
                if (c == sender)
                {
                    break;
                }

                index++;
            }

            _pickerView.ReloadComponent(index);
        }
예제 #10
0
        public async override void Selected(UIPickerView picker, nint row, nint component)
        {
            // ---------------------------------------------------------------------------
            try {
                ctlr.StartActivity();
                switch (component)
                {
                case 0:
                    if (row == 0)
                    {
                        teamList.Clear();
                    }
                    else
                    {
                        string yr = yearList[(int)row - 1];
                        //teamList = GFileAccess.GetTeamsInLeague(s, out usingDh);
                        teamList = await DataAccess.GetTeamListForYearFromCache(int.Parse(yr));
                    }
                    picker.Select(row: 0, component: 1, false);  // Reset team to row 0
                    picker.ReloadComponent(1);
                    break;

                case 1:
                    if (row == 0)
                    {
                        PickerChanged(new CTeamRecord(), false);
                    }
                    else
                    {
                        PickerChanged(teamList[(int)row - 1], true);
                    }
                    break;
                }
                ctlr.StopActivity();
            }
            catch (Exception ex) {
                ctlr.StopActivity();
                CAlert.ShowOkAlert("Error selecting year", ex.Message, "OK", ctlr);
            }
        }
예제 #11
0
 protected virtual void ReloadData()
 {
     _pickerView.ReloadComponent(0);
 }
 public override void Selected(UIPickerView pickerView, nint row, nint component)
 {
     pickerView.ReloadComponent(0);
 }