【发布时间】:2016-06-14 15:59:18
【问题描述】:
我似乎无法从绑定数据库的 ListView 中删除条目。我可以看到数据库中的所有内容,并添加了复选框,我如何选择它并不重要......它不会删除条目。我要疯了,我已经尝试了我能找到的一切。所以这是我的列表视图代码
好的,然后更新。当我放入时
var existingconact = conn2.Query<Medications>("select * from Medications where Id = 4").FirstOrDefault();
我单击按钮,它会删除它并更新表格。所以我的 ID 有问题。
<StackPanel Margin="20, 240, 0 0">
<ListView Header="Medications" x:Name="myList" Background="DimGray" HorizontalAlignment="Right" Margin="0,0,0,0" Width="600">
<ListView.ItemTemplate>
<DataTemplate>
<Grid Width="600">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<CheckBox HorizontalAlignment="Right" VerticalAlignment="Center" x:Name="CheckBoxItem"/>
<TextBlock x:Name="Id" Grid.Column="1" Text="{Binding Id}" TextWrapping="Wrap" />
<TextBlock x:Name="medName" Grid.Column="2" Text="{Binding MedName}" TextWrapping="Wrap" />
<TextBlock Grid.Column="3" x:Name="medDose" Text="{Binding MedDose}" TextWrapping="Wrap" />
<TextBlock Grid.Column="4" x:Name="whatFor" Text="{Binding WhatFor}" TextWrapping="Wrap" />
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackPanel>
这是我用来尝试删除条目的按钮命令
private void btn_Remove_Click(object sender, RoutedEventArgs e)
{
DBPath2 = Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, "meds.sqlite");
using (SQLite.Net.SQLiteConnection conn2 = new SQLite.Net.SQLiteConnection(new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(), DBPath2))
{
var existingconact = conn2.Query<Medications>("select * from Medications where Id = ?").FirstOrDefault();
if (existingconact != null)
{
conn2.RunInTransaction(() =>
{
conn2.Delete(existingconact);
});
如果你想看看,我的架构
public class Medications
{
[PrimaryKey, AutoIncrement]
public int Id { get; set; }
public string MedName { get; set; }
public string MedDose { get; set; }
public string WhatFor { get; set; }
}
【问题讨论】:
标签: c# database sqlite win-universal-app