private void CancleOut(string drugPos, int num) { OutPos[] os = lvOut.ItemsSource as OutPos[]; OutPos[] ops = null; foreach (OutPos op in os) { if (op.PosCode == drugPos) { op.Num -= num; if (op.Num <= 0) { List <OutPos> lop = os.ToList(); lop.Remove(op); ops = lop.ToArray(); } else { ops = new OutPos[os.Length]; os.CopyTo(ops, 0); } lvOut.ItemsSource = ops; return; } } }
private void lvOut_PreviewMouseUp(object sender, MouseButtonEventArgs e) { if (lvOut.SelectedItem != null) { OutPos d = lvOut.SelectedItem as OutPos; CancleOut(d.PosCode, 1); } }
private void AddOut(string drugPos, int num) { OutPos[] os = lvOut.ItemsSource as OutPos[]; OutPos[] ops = null; if (os != null) { foreach (OutPos op in os) { if (op.PosCode == drugPos) { op.Num += num; ops = new OutPos[os.Length]; os.CopyTo(ops, 0); lvOut.ItemsSource = ops; return; } } } if (os == null) { ops = new OutPos[1]; ops[0] = new OutPos { PosCode = drugPos, Num = num }; } else { ops = new OutPos[os.Length + 1]; os.CopyTo(ops, 0); ops[os.Length] = new OutPos { PosCode = drugPos, Num = num }; } lvOut.ItemsSource = ops; }