c# - 我需要将数据库数据传递给 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
解决方案
您确定模型中的属性名称与 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/
推荐阅读
- c# - 当我运行单元测试时,Application.CUrrent.Mainwindow 为空
- javascript - 在另一个数组数组中搜索一个数组的元素
- multithreading - Pytorch 使用了太多资源
- nuxt.js - 如何使用 Nuxt.js 创建 100% 静态网站?
- javascript - 为什么“Element.dispatchevent()”不起作用?
- ios - React Native 错误 pod 安装,Debian 10
- f# - F# 与数组关联的比较函数
- ruby-on-rails - 将 Ruby 哈希转换为 JSON 时如何保留时间戳
- jquery - 将对象列表从 JQuery 传递给返回视图的 IActionResult 方法
- javascript - 在 WKWebView 中操作粘贴内容