问题描述
我有一个很短的问题,我有一个使用Xamarin构建的项目。我在这个项目中使用领域数据库。我想做的就是每当我按下一个按钮时就删除领域db中的所有数据。我可以在列表视图中选中该项,但是我想用一个按钮删除所有数据。
在此先感谢您的帮助。 Stackoverflow给了我很多启发。
解决方法
我在此项目中使用领域数据库。我想做的就是每当我按下一个按钮时就删除领域db中的所有数据。我可以在列表视图中选中该项,但是我想用一个按钮删除所有数据。
如果要删除所有Realm Db记录,请查看以下代码。
我的模特,
public class Student : RealmObject
{
[PrimaryKey]
public int StudentID { get; set; }
public string StudentName { get; set; }
}
主页
<StackLayout>
<ListView x:Name="listStudent">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout>
<Label Text="{Binding StudentName}" />
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
<Button
x:Name="Addbtn"
Clicked="Addbtn_Clicked"
Text="add data" />
<Button
x:Name="deletebtn"
Clicked="deletebtn_Clicked"
Text="delete all data" />
</StackLayout>
public partial class Page30 : ContentPage
{
public Page30()
{
InitializeComponent();
}
private void Addbtn_Clicked(object sender,EventArgs e)
{
var realmDB = Realm.GetInstance();
for (int i = 0; i < 20; i++)
{
Student item = new Student()
{
StudentID = i,StudentName = "cherry " + i
};
realmDB.Write(() =>
{
realmDB.Add(item);
});
}
List<Student> students = realmDB.All<Student>().ToList();
listStudent.ItemsSource = students;
}
private void deletebtn_Clicked(object sender,EventArgs e)
{
var realmDB = Realm.GetInstance();
realmDB.Write(() =>
{
realmDB.RemoveAll();
});
List<Student> students = realmDB.All<Student>().ToList();
listStudent.ItemsSource = students;
}
}