示例#1
0
 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;
         }
     }
 }
示例#2
0
 private void lvOut_PreviewMouseUp(object sender, MouseButtonEventArgs e)
 {
     if (lvOut.SelectedItem != null)
     {
         OutPos d = lvOut.SelectedItem as OutPos;
         CancleOut(d.PosCode, 1);
     }
 }
示例#3
0
        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;
        }