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); }
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(); } }
public MyGridViewPainter(MyGridView view) : base(view) { }