#xamarin #xamarin.forms #xamarin.android #xamarin.ios
#xamarin #xamarin.forms #xamarin.android #xamarin.ios
Вопрос:
У меня очень короткий вопрос, у меня есть проект, созданный с помощью Xamarin. Я использую realm db в этом проекте. И то, что я хочу сделать, это удалить все данные в realm db всякий раз, когда я нажимаю кнопку. Я могу сделать это в listview с выбранным элементом, но я хочу удалить все данные одной кнопкой.
Заранее благодарим вас за помощь. Stackoverflow многому меня научил.
Комментарии:
1. существует много, много существующих вопросов и сообщений об удалении всех записей из RealmDB. Вы смотрели на какие-либо из них?
2. извините, я немного новичок в таких сайтах, как stackoverflow, и мне это не пришло в голову, я буду более осторожен, спасибо
Ответ №1:
Я использую realm db в этом проекте. И то, что я хочу сделать, это удалить все данные в realm db всякий раз, когда я нажимаю кнопку. Я могу сделать это в listview с выбранным элементом, но я хочу удалить все данные одной кнопкой.
Если вы хотите удалить все записи 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;
}
}