コード例 #1
0
        //-------------------------------------------
        private void UpdateFromSource()
        {
            object        datas     = Source;
            List <object> lstObjets = new List <object>();

            IPreloadableFromArbreProprietesDynamiques preloadable = Source as IPreloadableFromArbreProprietesDynamiques;

            if (preloadable != null && m_wndGrid.PreloadDatas)
            {
                CArbreDefinitionsDynamiques arbre = new CArbreDefinitionsDynamiques(null);
                if (m_wndGrid != null)
                {
                    foreach (C2iWndDataGridColumn col in m_wndGrid.Columns)
                    {
                        if (col.Control != null)
                        {
                            col.Control.FillArbreProprietesAccedees(arbre);
                        }
                    }
                }
                preloadable.Preload(arbre);
            }



            if (datas != null)
            {
                IEnumerable collection = datas as IEnumerable;
                if (collection != null)
                {
                    foreach (object obj in collection)
                    {
                        lstObjets.Add(obj);
                    }
                }
                else
                {
                    lstObjets.Add(datas);
                }
                m_grid.Init(this, m_wndGrid, EditedElement, lstObjets, m_fournisseur);
            }
            CUtilControlesWnd.DeclencheEvenement(C2iWnd.c_strIdEvenementOnInit, this);
        }