Mathiudi Ответов: 0

Как заполнить приложение Xamarin.форма элемента управления ListView из базы данных SQLite


Я работаю над простым проектом в xamarin.forms, который я хочу заполнить listview из базы данных в этом формате.

Пункт-1

Элементы: элементы из базы данных
Места: Местоположение из базы данных
Районы: Районы из базы данных
Cheifdoms: Cheifdoms из базы данных
ЕИ: единица измерения из базы данных
Цена: Цена из базы данных

Пункт 2

Элементы: элементы из базы данных
Места: Местоположение из базы данных
Районы: Районы из базы данных
Cheifdoms: Cheifdoms из базы данных
ЕИ: единица измерения из базы данных
Цена: Цена из базы данных

и так далее

Что я уже пробовал:

Для моей страницы контента

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="SLCommoditys.Views.CommodityListPage">

    <ContentPage.ToolbarItems>
        <ToolbarItem Text="Add New"
Clicked="OnAddNewClicked" />
    </ContentPage.ToolbarItems>
    <ContentPage.Content>
        <ListView x:Name="lvCommodity">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <ViewCell>
                        <StackLayout Spacing="2" Orientation="Vertical">
                            <StackLayout Orientation="Horizontal">
                                <Label Text="Items: "  FontSize="16"/>
                                <Label Text="{Binding Items}" FontSize="16" TextColor="Black"/>
                            </StackLayout>
                            <StackLayout Orientation="Horizontal">
                                <Label Text="Location: "  FontSize="16"/>
                                <Label Text="{Binding Location}" FontSize="16" TextColor="Black"/>
                            </StackLayout>
                            <StackLayout Orientation="Horizontal">
                                <Label Text="District: "  FontSize="16"/>
                                <Label Text="{Binding District}" FontSize="16" TextColor="Black"/>
                            </StackLayout>
                            <StackLayout Orientation="Horizontal">
                                <Label Text="Chiefdom: "  FontSize="16"/>
                                <Label Text="{Binding Chiefdom}" FontSize="16" TextColor="Black"/>
                            </StackLayout>
                            <StackLayout Orientation="Horizontal">
                                <Label Text="Unit of Measure: "  FontSize="16"/>
                                <Label Text="{Binding UOM}" FontSize="16" TextColor="Black"/>
                            </StackLayout>
                            <StackLayout Orientation="Horizontal">
                                <Label Text="Price: "  FontSize="16"/>
                                <Label Text="{Binding Price}" FontSize="16" TextColor="Black"/>
                            </StackLayout>
                        </StackLayout>
                    </ViewCell>
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>
    </ContentPage.Content>
</ContentPage>  


использование SLCommoditys.Модели;
использование системы;
использование системы.Коллекции.Общий;
использование System.Linq;
использование System.Text;
использование системы.Нарезание резьбы.Задачи;

использование Xamarin.Формы;
использование Xamarin.Форм.Язык XAML;

пространство имен SLCommoditys.Просмотры
{
[XamlCompilation(XamlCompilationOptions.Компилировать)]
публичный частичный класс CommodityListPage : ContentPage
{
публичная страница CommodityListPage ()
{
метод InitializeComponent ();

}

охраняемых переопределить недействительными асинхронного OnAppearing()
{
база.Онаппеаринг();

lvCommodity.ItemsSource = await App.SQLiteDb.GetComosAsync();
}

асинхронные OnAddNewClicked недействительным(объект отправителя, EventArgs в электронной)
{
ждите навигации.PushAsync(new AddNewPage
{
BindingContext = новый CommodityList()
});
}
}
}

использование SQLite;
использование системы;
использование системы.Коллекции.Общий;
использование System.Text;

пространство имен SLCommoditys.Модели
{
публичный класс CommodityList
{
[PrimaryKey, Автоинкремент]
public int Id { get; set; }
публичные строковые элементы { get; set; }
public string Location { get; set; }
public string District { get; set; }
общественного строка вождей { получить; набор; }
общественного строка ЕИ { получить; набор; }
публичная строка Price { get; set; }
}
}

использование SLCommoditys.Модели;
использование SQLite;
использование системы;
использование системы.Коллекции.Общий;
использование System.Text;
использование системы.Нарезание резьбы.Задачи;

пространство имен SLCommoditys.Data
{
публичный класс SQLiteHelper
{
SQLiteAsyncConnection дБ;
public SQLiteHelper(string dbPath)
{
db = new SQLiteAsyncConnection(dbPath);
db.CreateTableAsync<user>().подождите();
db.CreateTableAsync<commoditylist>().подождите();
}

//Вставить и обновить новую запись
public Task<int> SaveItemAsync(Пользовательское лицо)
{
если (person.id != 0)
{
возвращение дБ.UpdateAsync(человек);
}
еще
{
возврат БД.InsertAsync(персона);
}
}

//Удалить
public Task<int> DeleteItemAsync(User user)
{
возврат БД.DeleteAsync(пользователь);
}

//Читать Все Пункты
общественные задачу<список<пользователь>> У метода getitemsasync()
{
возврат БД.Таблица<user>().ToListAsync();
}

public Task<int>SaveComsAsync(CommodityList como)
{
если (Комо.Id != 0)
{
возвращение дБ.UpdateAsync(Комо);
}
еще
{
возврат БД.InsertAsync(como);
}
}


//Читать Пункт
public Task<user> GetItemAsync(строковый пароль)
{
возврат БД.Таблица<user>().Where(i => i.Password == пароль).FirstOrDefaultAsync();
}

общественные задачу<список<commoditylist&ГТ;&ГТ; GetComosAsync()
{
возврат БД.Таблица<commoditylist>().ToListAsync();
}
public Task<commoditylist> GetComoAsync(int id)
{
возврат БД.Таблица<commoditylist>()
.Где(i => i.Id == id)
.FirstOrDefaultAsync();
}
}
}

Gerry Schmitz

Вы публикуете кучу кода, не связанного с "загрузкой listview", и ожидаете чего?

Найти Уолдо?

Mathiudi

охраняемых переопределить недействительными асинхронного OnAppearing()
{
база.Онаппеаринг();

lvCommodity.ItemsSource = await App.SQLiteDb.GetComosAsync();
}

Mathiudi

общественные задачу<список<commoditylist&ГТ;&ГТ; GetComosAsync()
{
возврат БД.Таблица<commoditylist>().ToListAsync();
}
public Task<commoditylist> GetComoAsync(int id)
{
возврат БД.Таблица<commoditylist>()
.Где(i => i.Id == id)
.FirstOrDefaultAsync();

0 Ответов