Выбор Xamarin Forms SelectedItem для существующей таблицы SQLite - PullRequest
0 голосов
/ 10 февраля 2020

Я довольно новичок в этом, и у меня возникают некоторые проблемы, когда я пытаюсь установить Picker SelectedItem в существующую таблицу SQLite.

Мне удалось заполнить средство выбора (и таблицы) без проблем. Теперь мне нужно обновить (или вставить) существующее значение ячейки с помощью SelectedItem.

Я могу установить значение SelectedItem, но при попытке вставить его в существующую таблицу у меня возникают проблемы. Я нашел один способ установить его, но при этом каждый раз создается новая таблица (с корректным отображением SelectedItem).

Есть ли что-то, чего мне не хватает, чтобы получить SelectedItem в существующую таблицу, не имея каждый раз создавать новую таблицу?

Спасибо!

Xaml.cs

     void TermGoClicked(object sender, EventArgs e)
    {
        //local database where populated table is stored
        using (SQLiteConnection conn = new SQLiteConnection(App.DatabaseLocation))
        {
            //sets the Picker SelectedItem index
            var pickerItem = termPicker.Items[termPicker.SelectedIndex];

            //created new Courses table
            var courses = new Courses();

            //sets the PickerItem column with the Selected Item on newly created table.
            courses.PickerItem = pickerItem;
            conn.Update(courses);

            Navigation.PushAsync(new TermPage());
        }

    }

Xaml

     <Picker x:Name="termPicker"
                ItemsSource="{Binding terms}"
                ItemDisplayBinding="{Binding TermName}"
                Title="Select a term"
                IsEnabled="True"/>

1 Ответ

0 голосов
/ 10 февраля 2020

Я понял!

Я пытался получить доступ к существующей таблице курсов, используя

    var courses = conn.Table<Courses>;

, но столбец PickerItem не был найден. Так что я его убрал. Тем не менее, я добавил

    var courses = conn.Table<Courses>.FirstOrDefault();

И это сработало отлично!

Спасибо @Jason за то, что указал мне правильное направление!

...