首页 > 解决方案 > 我需要将数据库数据传递给 listview

问题描述

在我的视图模型中

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);
    }
}

在我的 database.cs

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

我使用此代码将最后十条记录添加到使用此代码的列表视图中。当我调用 GetFinalExpense(10) 时,它需要所有最后 10 条记录。但是当我执行 add 函数时,它只显示两个数据,一个是类型是 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 和 Time 我只需要 Date.but 它不是主要问题是 listview

标签: c#mvvmxamarin.forms

解决方案


您确定模型中的属性名称与 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/


推荐阅读