C#网格视图.如何获取所选项目的值
本文关键字:选项 项目 获取 视图 网格 何获取 | 更新日期: 2023-09-27 17:58:19
我有以下问题。我有一个GridView,它是在以下代码的帮助下从我的数据库中填充的:
private async void CreateDatabase()
{
SQLiteAsyncConnection conn = new SQLiteAsyncConnection("people");
var query = conn.Table<Person>();
var result = await query.ToListAsync();
foreach (var item in result)
{
GridView1.Items.Add(new GridViewItem { Background = new SolidColorBrush(Colors.Green), Content = item.Name, Width = 200, Height = 200 });
}
}
我从我的数据库中删除项目,如下所示:
private async void DeleteSelectedButton_Click(object sender, RoutedEventArgs e)
{
SQLiteAsyncConnection conn = new SQLiteAsyncConnection("people");
var query = conn.Table<Person>().Where(x => x.Name == "123");
var result = await query.ToListAsync();
foreach (var item in result)
{
await conn.DeleteAsync(item);
}
}
我的问题是:在第一个代码块中创建的GridView1.Item中,我可以绑定什么特定的值,以便稍后在选择该项时检索该值以删除数据库中的实体?(即1。在填充GridView时,我希望每个GridView.Item都被分配一些绑定到数据库ID的值;2.我希望在选择项目时能够检索到这个值,方法是右键单击该项目,然后按下删除按钮(这样就不会删除名称中带有"123"的数据库实体,而是删除绑定到该项目的ID的数据库实体)。任何帮助都将不胜感激!
附言:对不起,我的句子太复杂了。
如果你的网格只显示一个字符串,你可以得到这样的GridView值:
string value = Gridview1.SelectedItem as string;
好的)这是交易)我想好了:
private async void RemoveButton_Click(object sender, RoutedEventArgs e)
{
GridViewItem selection = (GridViewItem)GridView1.SelectedItem;
string ToBeDeleted = selection.Content.ToString();
GridView1.Items.Remove(selection);
SQLiteAsyncConnection conn = new SQLiteAsyncConnection("people");
var query = conn.Table<Person>().Where(x => x.Name == ToBeDeleted);
var result = await query.ToListAsync();
foreach (var item in result)
{
await conn.DeleteAsync(item);
}
MessageDialog msgDialog = new MessageDialog("Category " + ToBeDeleted + " is deleted");
msgDialog.ShowAsync();
}