protected override void ApplyLevelDefaults(BaseView newGV, BaseView defaultView, DetailInfo di, string levelName)
        {
            MyGridView mgv = newGV as MyGridView;

            if (mgv != null)
            {
                mgv.CheckRecreateDataController(di.DetailList);
            }
            base.ApplyLevelDefaults(newGV, defaultView, di, levelName);
        }
Ejemplo n.º 2
0
        protected override void OnMouseMove(MouseEventArgs ev)
        {
            ViewTab tabControl = null;

            base.OnMouseMove(ev);
            GridView       view         = (GridView)this.GetViewAt((ev.Location));
            MyGridViewInfo gridViewInfo = view.GetViewInfo() as MyGridViewInfo;

            if (gridViewInfo == null)
            {
                return;
            }
            GridDetailInfo gridnewDetailInfo = gridViewInfo.gridDetailInfo as GridDetailInfo;

            if (gridnewDetailInfo != null)
            {
                if (ev.Button == MouseButtons.Left && gridnewDetailInfo != null)
                {
                    if (gridnewDetailInfo != null)
                    {
                        PropertyInfo pi = typeof(BaseView).GetProperty("TabControl", BindingFlags.NonPublic | BindingFlags.Instance);
                        tabControl = pi.GetValue(view, null) as ViewTab;
                        ViewTabPage pg       = tabControl.Pages.OfType <ViewTabPage>().First(p => p.DetailInfo == gridnewDetailInfo);
                        int         newIndex = ((IList)tabControl.Pages).IndexOf(pg);
                        if (newIndex != oldIndex && oldIndex != -1)
                        {
                            if (tabControl.Pages.Count > 1)
                            {
                                ViewTabPage    page1 = tabControl.Pages[oldIndex];
                                ViewTabPage    page2 = tabControl.Pages[newIndex];
                                GridDetailInfo info  = page1.DetailInfo;
                                ((IList)tabControl.Pages).RemoveAt(oldIndex);
                                ((IList)tabControl.Pages).Insert(oldIndex, page2);
                                ((IList)tabControl.Pages).RemoveAt(newIndex);
                                ((IList)tabControl.Pages).Insert(newIndex, page1);

                                page1.DetailInfo = page2.DetailInfo;
                                page2.DetailInfo = info;

                                MyGridView myGridView = view as MyGridView;
                                tabOrderList = new List <int>();
                                foreach (ViewTabPage page in tabControl.Pages)
                                {
                                    tabOrderList.Add((int)page.Tag);
                                }
                                oldIndex = newIndex;
                                tabControl.LayoutChanged();
                            }
                        }
                    }
                }
            }
        }
 public override void Assign(BaseView v, bool copyEvents)
 {
     BeginUpdate();
     try {
         base.Assign(v, copyEvents);
         MyGridView source = v as MyGridView;
         if (source == null)
         {
             return;
         }
         SortFieldName = source.SortFieldName;
     } finally { EndUpdate(); }
 }
Ejemplo n.º 4
0
 public MyGridViewPainter(MyGridView view) : base(view)
 {
 }