//-------------------------------------------------------------------- private bool ItemControl_OnLeaveLastControl(object sender, EventArgs args) { CControleEditeValorisationEquipement ctrl = sender as CControleEditeValorisationEquipement; if (ctrl != null) { //Regarde si le dernier item est vide if (m_listeLignes.Items.Count() > 0 && !LockEdition && m_lotValorisation != null) { CCustomizableListItem item = m_listeLignes.Items.ElementAt(m_listeLignes.Items.Count() - 1); CValorisationElement ligne = item != null ? item.Tag as CValorisationElement : null; if (ligne != null && ligne.ElementValorisé != null) { ligne = new CValorisationElement(m_lotValorisation.ContexteDonnee); ligne.CreateNewInCurrentContexte(); ligne.LotValorisation = m_lotValorisation; item = new CCustomizableListItem(); item.Tag = ligne; m_listeLignes.AddItem(item, true); m_listeLignes.CurrentItemIndex = item.Index; return(true); } } } return(false); }
public CControleEditeValorisations() { InitializeComponent(); CControleEditeValorisationEquipement ctrl = new CControleEditeValorisationEquipement(); m_listeLignes.ItemControl = ctrl; m_extModeEdition.SetModeEdition(ctrl, TypeModeEdition.EnableSurEdition); ctrl.OnDelete += new EventHandler(ctrl_OnDelete); ctrl.OnAddLigne += new EventHandler(ctrl_OnAddLine); ctrl.OnLeaveLastControl += new CCustomizableListControl.OnLeaveLastControlEventHandler(ItemControl_OnLeaveLastControl); }
//------------------------------------------------------------ void ctrl_OnDelete(object sender, EventArgs e) { CControleEditeValorisationEquipement ctrl = sender as CControleEditeValorisationEquipement; if (ctrl == null) { return; } CValorisationElement ligne = ctrl.CurrentItem != null ? ctrl.CurrentItem.Tag as CValorisationElement : null; if (ligne != null) { CResultAErreur result = ligne.Delete(true); if (!result) { CFormAlerte.Afficher(result.Erreur); return; } } m_listeLignes.RemoveItem(ctrl.CurrentItem, true); m_listeLignes.CurrentItemIndex = m_listeLignes.CurrentItemIndex; }