使用函数从sqlite数据库中获取指定的数据?

时间:2016-11-23 11:58:52

标签: c# android sqlite xamarin xamarin.forms

我试图获得一个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; }
}

提前谢谢你,

1 个答案:

答案 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将显示名称。