Мне нужно передать данные базы данных в просмотр списка - PullRequest
0 голосов
/ 28 февраля 2019

В моей модели просмотра

public ObservableCollection<AddExpenses> _expenses;

public ObservableCollection<AddExpenses> Expenses
{
    get
    {
        if (_expenses == null)
        {
            _expenses = new ObserrvableCollection<AddExpenses>();
        }
        return _expenses;
    }
}

public ICommand click { get; set; }

public TransactionViewModel(Register_person logindata)
{
    click = new Command(add)
}

private void add()
{
    var database = new Database();
    var expenses = database.GetFinalExpense(10);

    foreach (var expense in expenses)
    {
        Expenses.Add(expense);
    }
}

В моей базе данных .cs

public AddExpenses[] GetFinalExpense(int numberOfExpenses)
{
    return Conn.Table<AddExpenses>()
               .OrderByDescending(expenses => expenses.Id)
               .Take(numberOfExpenses)
               .ToArray();
}

Я использовал этот код, чтобы добавить эти последние десять записей в мой список с помощью этого кода.когда я вызываю GetFinalExpense (10), он принимает все последние 10 записей. но когда я выполняю функцию добавления, он показывает только два типа данных, один из которых - DateTime, а другой - Double.мои два других данных в формате строки.Насколько мне известно, связывание данных и часть XAML не имеют проблем (не совсем уверен)

здесь мой XAML

<ListView ItemsSource="{Binding Expenses}" VerticalOptions="FillAndExpand" >

    <ListView.ItemTemplate>
        <DataTemplate>
            <ViewCell>
                <StackLayout Orientation="Vertical">
                    <StackLayout Orientation="Horizontal">
                    <Label Text="{Binding Catagoryview}"/>
                        <Label Text="{Binding Date}"/>
                    <Label Text="{Binding Expense}"/>
                    <Label Text="{Binding username}"/>
                    </StackLayout>
                </StackLayout>
            </ViewCell>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

Мне нужно показать все это в виде списка.Кроме того, мне нужна еще одна услуга, поскольку мой тип DateTime дает мне и дату, и время. Мне нужен только Date.но это не главная проблема - просмотр списка

1 Ответ

0 голосов
/ 28 февраля 2019

Вы уверены, что имена свойств в модели совпадают с именами в XAML.

Имена, по-видимому, несовместимы, username все маленькие, а остальные имена начинаются с заглавной буквы,также Categoryview не является CategoryView в коде?

Для форматирования даты вы можете использовать опцию форматирования привязки

Text="{Binding Path=Date, StringFormat=dd-MM-yyyy}"

Для получения дополнительной информации о форматировании см .: https://blogs.msdn.microsoft.com/vsdata/2009/07/06/customize-format-of-datetime-string-in-wpf-and-winform-data-binding/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...