我试图获得一个ListView
,其中包含数据库中每个项目的名称,但我得到的全部是完整的表名。如果可能的话,我想使用相同的函数来获取id之后的其他信息。如果需要更多信息,请问我。
这是我的代码:
调用函数:
var categories = App.Database.GetCategoryByMenuID(1);
listView.ItemsSource = categories;
功能:
public List<Categories> GetCategoryByMenuID(int menuID)
{
return db.Table<Categories>().Where(x => x.Menu_ID == menuID).ToList();
}
表:
public class Categories
{
public Categories()
{
}
[PrimaryKey, AutoIncrement]
public int ID { get; set; }
public int Menu_ID { get; set; }
public string Name { get; set; }
}
提前谢谢你,
答案 0 :(得分:1)
您的 var类别是一个填充了多个类别的列表。 ListView在每一行中打印对象的名称,即:Categories。
您应该创建自己的datatemplate,打印每个&#34; 类别&#34;的属性名称。
声明你自己的DataTemplate:
var datatemplate = new DataTemplate(() =>
{
var nameLabel = new Label();
nameLabel.SetBinding(Label.TextProperty, "Name");
return new ViewCell { View = nameLabel };
}
接下来,使用datatemplate显示类别的名称。像这样实例化ListView:
var listView = new ListView
{
ItemsSource = categories,
ItemTemplate = datatemplate
}
然后您的ListView将显示名称。