/// <summary>
        ///     Применить настройку внешнего вида для объекта из объекта
        ///     <see cref="T:System.Data.DataRow" />
        /// </summary>
        /// <param name="control">Объект для сохранения внешнего вида</param>
        /// <param name="layout">
        ///     Объект типа
        ///     <see cref="T:System.Data.DataRow" />
        /// </param>
        public static void AcceptLayoutForControl(this Control control, UserLayout layout)
        {
            ISupportXtraSerializer sxs = null;
            var gc = control as GridControl;

            if (gc != null)
            {
                sxs = gc.MainView;
            }
            else
            {
                var pv = control as PivotGridControl;
                if (pv != null)
                {
                    sxs = pv;
                }
                else
                {
                    var tl = control as TreeList;
                    if (tl != null)
                    {
                        sxs = tl;
                    }
                }
            }
            if (layout == null || sxs == null)
            {
                return;
            }
            sxs.RestoreLayoutSerializingFromStream(layout.Layout);
        }
Esempio n. 2
0
        /// <summary>
        ///     Применить настройку внешнего вида для объекта из таблицы настроек по умолчанию
        /// </summary>
        /// <param name="form">Форма на которой находится объект</param>
        /// <param name="name">Название объекта</param>
        /// <param name="control">Объект</param>
        public static void AcceptDefaultLayoutForControl(this Form form, string name, Control control)
        {
            ISupportXtraSerializer sxs = null;
            var gc = control as GridControl;

            if (gc != null)
            {
                sxs = gc.MainView;
            }
            else
            {
                var pv = control as PivotGridControl;
                if (pv != null)
                {
                    sxs = pv;
                }
                else
                {
                    var tl = control as TreeList;
                    if (tl != null)
                    {
                        sxs = tl;
                    }
                }
            }
            if (sxs == null)
            {
                return;
            }
            using (var db = new ApplicationEntitie(0))
            {
                var tableName = form.Name + "." + name;
                var defLayout = db.DefaultLayouts.FirstOrDefault(dl => dl.TableName == tableName);
                if (defLayout == null)
                {
                    MessageWindow.GetInstance("Для данной формы не найдено начальное состояние.");
                    return;
                }
                sxs.RestoreLayoutSerializingFromStream(defLayout.Layout);
            }
            var tuner = control.GetControlTuner() as ILayoutTuner;

            if (tuner != null)
            {
                tuner.LoadPropertiesFromXml(control, FormControls.XmlDocumentFromStrinList(form.GetXmlSettings()));
            }
        }