Beispiel #1
0
 //-----------------------------------------------------------------------------------------------
 private void m_lnkActionSurMenuItem_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
 {
     if (m_actionMenuItemListeDynamique != null)
     {
         if (TypeForItem != null)
         {
             CObjetPourSousProprietes objForItem = TypeForItem;
             if (m_objetPourSousProprietes != null)
             {
                 CDefinitionMultiSourceForExpression multi = m_objetPourSousProprietes.ElementAVariableInstance as CDefinitionMultiSourceForExpression;
                 if (multi != null)
                 {
                     CDefinitionMultiSourceForExpression copie = new CDefinitionMultiSourceForExpression(TypeForItem);
                     foreach (string strSource in multi.GetNomSources())
                     {
                         copie.AddSource(strSource, multi.GetSource(strSource));
                     }
                     objForItem = new CObjetPourSousProprietes(copie);
                 }
             }
             CActionSur2iLink actionSpec = m_actionMenuItemListeDynamique.Action;
             actionSpec = CFormEditActionSurLink.EditeAction(actionSpec, objForItem);
             if (actionSpec != null)
             {
                 m_actionMenuItemListeDynamique.Action = actionSpec;
             }
         }
     }
 }
        //--------------------------------------------------------------------------------------------------------------------------------------
        private static object GetObjetPourItem(object objetCiblePrincipal, object objetCibleItem)
        {
            CDefinitionMultiSourceForExpression multi = objetCiblePrincipal as CDefinitionMultiSourceForExpression;

            if (multi == null)
            {
                return(objetCibleItem);
            }
            CDefinitionMultiSourceForExpression copie = new CDefinitionMultiSourceForExpression(objetCibleItem);

            foreach (string strSource in multi.GetNomSources())
            {
                copie.AddSource(strSource, multi.GetSource(strSource));
            }
            return(copie);
        }