//------------------------------------------------------------------------------- private void CreateChilds(CViewSmartImportResultItem itemFille, IEnumerable <CValeursProprietes> valeurs) { int nIndex = itemFille.Index; int nColIndex = itemFille.ColorIndex; if (valeurs != null) { foreach (CValeursProprietes val in valeurs) { nColIndex++; if (CViewSmartImportResultItem.GetCouleur(nColIndex) == itemFille.BackColor) { nColIndex++; } CViewSmartImportResultItem item = new CViewSmartImportResultItem( itemFille, null, val, null, nColIndex); InsertItem(++nIndex, item, false); } } }
//------------------------------------------------------------------------------- internal void Collapse(CCustomizableListItem item) { CViewSmartImportResultItem si = item as CViewSmartImportResultItem; if (si != null) { si.Collapse(); } Refresh(); }
//-------------------------------------------------- public CViewSmartImportResultItem( CViewSmartImportResultItem parent, CDefinitionProprieteDynamique def, object valeur, object valeurOriginale, int nColorIndex) : base(parent) { m_propriete = def; m_valeur = valeur; m_valeurOriginale = valeurOriginale; m_nColorIndex = nColorIndex; }
//-------------------------------------------------------------------- private void m_btnExpand_Click(object sender, EventArgs e) { CViewSmartImportResultItem item = CurrentItem as CViewSmartImportResultItem; if (item != null && item.IsCollapse) { ((CControleViewSmartImportResult)AssociatedListControl).Expand(CurrentItem); } else if (item != null && !item.IsCollapse) { ((CControleViewSmartImportResult)AssociatedListControl).Collapse(CurrentItem); } m_btnExpand.Text = item.IsCollapse ? "+" : "-"; }
//------------------------------------------------------------------------------- internal void Expand(CCustomizableListItem item) { CViewSmartImportResultItem si = item as CViewSmartImportResultItem; if (si != null && si.ChildItems.Count() == 0) { if (si.Valeur is CValeursProprietes) { CreateChilds(si, (CValeursProprietes)si.Valeur); } else if (si.Valeur is IEnumerable <CValeursProprietes> ) { CreateChilds(si, (IEnumerable <CValeursProprietes>)si.Valeur); } } if (si != null) { si.Expand(); } Refresh(); }
//-------------------------------------------------------------------- protected override CResultAErreur MyInitChamps(CCustomizableListItem item) { CResultAErreur result = base.MyInitChamps(item); if (!result) { return(result); } CViewSmartImportResultItem si = item as CViewSmartImportResultItem; if (si != null) { m_lblChamp.BackColor = si.BackColor; m_lblMarge.BackColor = si.BackColor; if (si.Niveau > 0) { m_lblMarge.Width = si.Niveau * 10; m_lblMarge.Visible = true; } else { m_lblMarge.Visible = false; } if (si.Propriete != null) { m_lblChamp.Text = si.Propriete.Nom; } else { m_lblChamp.Text = ""; } BackColor = Color.White; ColorInactive = Parent.BackColor; object valeur = si.Valeur; m_imageEtat.Visible = false; ShowValeur(valeur, m_lblValeur); //ShowValeur(si.ValeurOriginale, m_lblValeurOriginale); m_lblValeurOriginale.Visible = false; if (valeur is IEnumerable <CValeursProprietes> ) { m_btnExpand.Visible = true; } else if (valeur is CValeursProprietes) { m_btnExpand.Visible = true; CValeursProprietes v = valeur as CValeursProprietes; if (v.ObjetAssocie != null) { if (v.ObjetAssocie.Row.RowState == DataRowState.Added) { m_imageEtat.Visible = true; m_imageEtat.Image = Properties.Resources._1402941834_Create; } if (v.ObjetAssocie.Row.RowState == DataRowState.Modified) { m_imageEtat.Visible = true; m_imageEtat.Image = Properties.Resources._1402941874_Modify; } } } else { m_btnExpand.Visible = false; } m_btnExpand.Text = si.IsCollapse ? "+" : "-"; } else { m_btnExpand.Visible = false; } return(result); }
//------------------------------------------------------------------------------- private void CreateChilds(CViewSmartImportResultItem si, CValeursProprietes valeurs) { List <CDefinitionProprieteDynamique> lst = new List <CDefinitionProprieteDynamique>(); lst.AddRange(valeurs.GetDefinitionsSimples()); lst.Sort((x, y) => x.Nom.CompareTo(y.Nom)); int nIndex = si.Index; foreach (CDefinitionProprieteDynamique def in lst) { CViewSmartImportResultItem item = new CViewSmartImportResultItem( si, def, valeurs.GetValeurSimple(def), valeurs.ValeursOriginales != null? valeurs.ValeursOriginales.GetValeurSimple(def): null, si.ColorIndex); InsertItem(++nIndex, item, false); } //Champs parents int nColorIndex = si.ColorIndex; lst.Clear(); lst.AddRange(valeurs.GetDefinitionsParentes()); lst.Sort((x, y) => x.Nom.CompareTo(y.Nom)); foreach (CDefinitionProprieteDynamique def in lst) { nColorIndex++; if (CViewSmartImportResultItem.GetCouleur(nColorIndex) == si.BackColor) { nColorIndex++; } CViewSmartImportResultItem item = new CViewSmartImportResultItem( si, def, valeurs.GetValeurParente(def), valeurs.ValeursOriginales != null? valeurs.ValeursOriginales.GetValeurParente(def): null, nColorIndex); InsertItem(++nIndex, item, false); } //Champs filles lst.Clear(); lst.AddRange(valeurs.GetDefinitionsFilles()); lst.Sort((x, y) => x.Nom.CompareTo(y.Nom)); foreach (CDefinitionProprieteDynamique def in lst) { CViewSmartImportResultItem item = new CViewSmartImportResultItem( si, def, valeurs.GetValeursFilles(def), null, si.ColorIndex ); InsertItem(++nIndex, item, false); } }