private void button12_Click(object sender, EventArgs e) { // Обработка заказа if (listView1.SelectedIndices.Count > 0) { int n = listView1.SelectedIndices[0]; DataRowView Drv = Base.classOrder.dataView[n]; cOrder cO = new cOrder(Base.classOrder.dataView[n].Row); if (cO.Status == 0) { cO.Process(); Drv.BeginEdit(); cO.ThisToRow(Drv.Row); Drv.EndEdit(); Base.classOrder.UpdateTable(); listView1.VirtualListSize = Base.classOrder.dataView.Count; listView1.Refresh(); } else { MessageBox.Show(this, "Обработка уже выполнена!", "Внимание!"); } } }
private void listView1_RetrieveVirtualItem(object sender, RetrieveVirtualItemEventArgs e) { // Событие вывода в виртуальную таблицу Заказов int c = ((ListView)sender).VirtualListSize; if (((c > 0) && (e.ItemIndex < c)) && (e.ItemIndex > -1)) { cOrder cO = new cOrder(Base.classOrder.dataView[e.ItemIndex].Row); e.Item = new ListViewItem(new string[] { (e.ItemIndex + 1).ToString(), cO.Id.ToString(), cO.NDock, cO.Summ.ToString(), cO.StatusStr, cO.ExtDataOrder.ToString(), cO.Comment }); } }
private void FormEditOrder_Shown(object sender, EventArgs e) { // Инициализация формы if (Idx < 0) { // создание нового заказа cO = new cOrder(); } else { // Считывание заказа в класс для редактирования cO = new cOrder(Base.classOrder.dataView[Idx].Row); } // инициализация экранных элементов редактирования comboBox1.Items.AddRange(cOrder.statusmas); comboBox2.Items.AddRange(masTypeOrder); // Связывание переменных класса с экранными формами textBox1.DataBindings.Add("Text", cO, "NDock"); textBox2.DataBindings.Add("Text", cO, "Summ"); comboBox1.DataBindings.Add("SelectedIndex", cO, "Status"); comboBox2.DataBindings.Add("SelectedIndex", cO, "NumbTypeOrder"); textBox3.DataBindings.Add("Text", cO, "Comment"); // Если статус == 1 тоесть заказ обработан отключаем кнопку для изменения данных // заказ можно изменять если отменить обработку if (cO.Status == 1) { button1.Enabled = false; } // Вывод в PropertyGrid Дополнительных данных заказа if (cO.ExtDataOrder != null) { propertyGrid1.SelectedObject = cO.ExtDataOrder; } }
public void UnProcess(cOrder order) { order.Summ = (order.Summ / (100 + percent)) * 100; order.Status = 0; }
// интерфейсные процедуры обработки заказа public void Process(cOrder order) { order.Summ = (order.Summ / 100) * (100 + percent); order.Status = 1; }