private void BtnSingleRowDelete_Click(object sender, RoutedEventArgs e) { if (MainDataGrid.SelectedItems.Count == 1) { LabelPrintCurrencyModel model = MainDataGrid.SelectedItem as LabelPrintCurrencyModel; if (model.PrintStatus == "未打印") { MessageBox.Show("只能删除已打印数据"); return; } string r = new LabelPrintService().DeleteCurrentPrintData(model.ID); if (r != null) { (this.MainDataGrid.ItemsSource as ObservableCollection <LabelPrintCurrencyModel>).Remove(model); //CurrentRecords.Remove(model); this.MainDataGrid.SelectedItem = null; // 删除日志 new LabelPrintService().DeletePrintLog(new List <int> { model.ID }); isRefreshParentDataGrid = true; MessageBox.Show(r); return; } MessageBox.Show("删除失败,请联系管理员"); } else { MessageBox.Show("删除失败:请先选中数据,有且仅有1条数据"); } }
private void BtnBatchNoDelete_Click(object sender, RoutedEventArgs e) { if (MainDataGrid.SelectedItems.Count == 1) { LabelPrintCurrencyModel model = MainDataGrid.SelectedItem as LabelPrintCurrencyModel; if (model.PrintStatus == "未打印") { MessageBox.Show("只能删除已打印数据"); return; } var itemSource = MainDataGrid.ItemsSource as ObservableCollection <LabelPrintCurrencyModel>; List <int> ids = itemSource.Where(m => m.CreateTime == model.CreateTime && m.BatchNo == model.BatchNo).Select(m => m.ID).ToList <int>(); string r = new LabelPrintService().BatchDeleteCurrentPrintData(ids); if (r != null) { for (int i = 0; i < itemSource.Count; i++) { DateTime time = itemSource[i].CreateTime; string batchno = itemSource[i].BatchNo; // 默认提取数据是按添加时间降序 if (time > model.CreateTime) { continue; } else if (time == model.CreateTime) { if (batchno == model.BatchNo) { itemSource.RemoveAt(i); i--; } } else { break; } } this.MainDataGrid.SelectedItem = null; // 删除日志 new LabelPrintService().DeletePrintLog(ids); isRefreshParentDataGrid = true; MessageBox.Show(r); return; } MessageBox.Show("删除失败,请联系管理员"); } else { MessageBox.Show("删除失败:有且仅有1条数据"); } }