private void EditBtn_Click(object sender, EventArgs e) { try { if (PassiveChargePerUnits.SelectedItems.Count == 1) { ListViewItem li = PassiveChargePerUnits.SelectedItems[0]; byte[] index = GXDLMSTranslator.HexToBytes(li.SubItems[0].Text); Int16 chargePerUnit = Int16.Parse(li.SubItems[1].Text); GXDLMSCharge target = Target as GXDLMSCharge; GXChargeTableDlg dlg = new GXChargeTableDlg(index, chargePerUnit, false); if (dlg.ShowDialog(this) == DialogResult.OK) { GXChargeTable t = (GXChargeTable)li.Tag; t.Index = GXDLMSTranslator.ToHex(dlg.Index); t.ChargePerUnit = dlg.ChargePerUnit; li.SubItems[0].Text = t.Index; li.SubItems[1].Text = dlg.ChargePerUnit.ToString(); errorProvider1.SetError(PassiveChargePerUnits, Properties.Resources.ValueChangedTxt); Target.UpdateDirty(6, target.UnitChargePassive.ChargeTables); } } } catch (Exception ex) { MessageBox.Show(this, ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void AddBtn_Click(object sender, EventArgs e) { try { GXDLMSCharge target = Target as GXDLMSCharge; GXChargeTableDlg dlg = new GXChargeTableDlg(null, 0, false); if (dlg.ShowDialog(this) == DialogResult.OK) { List <GXChargeTable> list = new List <GXChargeTable>(); if (target.UnitChargePassive.ChargeTables != null) { list.AddRange(target.UnitChargePassive.ChargeTables); } GXChargeTable t = new GXChargeTable(); t.Index = GXDLMSTranslator.ToHex(dlg.Index); t.ChargePerUnit = dlg.ChargePerUnit; ListViewItem li = new ListViewItem(t.Index); li.Tag = t; li.SubItems.Add(t.ChargePerUnit.ToString()); list.Add(t); target.UnitChargePassive.ChargeTables = list.ToArray(); PassiveChargePerUnits.Items.Add(li); errorProvider1.SetError(PassiveChargePerUnits, Properties.Resources.ValueChangedTxt); Target.UpdateDirty(6, target.UnitChargePassive.ChargeTables); } } catch (Exception ex) { MessageBox.Show(this, ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }