Форум программистов, компьютерный форум CyberForum.ru

Как передать значение идентификатора из базы данных в выпадающий список? - Xamarin

Восстановить пароль Регистрация
 
Nineor
1 / 1 / 0
Регистрация: 12.12.2015
Сообщений: 23
24.11.2016, 18:34     Как передать значение идентификатора из базы данных в выпадающий список? #1
Здравствуйте. В приложении имеются следующие две таблицы, которые заполняются данными:
Как передать значение идентификатора из базы данных в выпадающий список?
Поле "Store" в приложении заполняется через выпадающий список Picker. Для этого используется класс PurchasePage. В нем определение индекса текущего элемента в выпадающем списке производится путем поиска элемента в массиве по имени:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public PurchasePage()
    {
        InitializeComponent();
 
        //Заполняем выпадающий список
        var StoreArray = App.database.GetStores().ToArray();
        var a = new List<string>();
        foreach (var StoreName in StoreArray)
        {
            Picker.Items.Add(StoreName.store_name);
        }
 
        //Определяем текущий элемент в выпадающем списке
        var PurchaseArray = App.database.GetPurchases().ToArray();
        foreach (var Purchase in PurchaseArray)
        {
            //GetStore производит выборку по id
            var Store = App.database.GetStore(Purchase.store_id);
            var curArr = Picker.Items.IndexOf(Store.store_name);
            if(curArr != -1) Picker.SelectedIndex = curArr;
        }
    }
Далее для сохранения данных определяется имя текущего выбранного элемента:
C#
1
var selectedStore = Picker.Items[Picker.SelectedIndex];
Переменная selectedStore передается в метод SavePurchase, который сохраняет данные в таблицу. В этом методе производится выборка идентификатора по имени:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public int SavePurchase(Purchase item, string store)
    {
        var store_id =  database.Query<Store>("Select store_id from Store where store_name=""+ store + """);
        item.store_id = store_id[0].store_id;
        if (item.purchase_id != 0)
        {
            database.Update(item);
            return item.purchase_id;
        }
        else
        {
            return database.Insert(item);
        }
    }
Как передать значение идентификатора сразу в выпадающий список, чтобы каждый раз не приходилось искать его значение по имени элемента? Или может имеется другой способ привязки идентификатора к элементу в выпадающем списке?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2016, 18:34     Как передать значение идентификатора из базы данных в выпадающий список?
Посмотрите здесь:

Xamarin Передать в UI поток (Xamarin MonoDroid)

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 07:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru