예제 #1
0
        /// <summary>
        /// 设置显示控制器
        /// </summary>
        /// <param name="grid"></param>
        /// <param name="dm"></param>
        /// <param name="gridName"></param>
        public static void SetDisplayManager(this IBoundGrid grid, IDisplayManager dm, string gridName)
        {
            if (dm == null)
            {
                throw new ArgumentNullException("dm");
            }
            grid.DisplayManager = dm;
            grid.GridName       = gridName;
            grid.SetState(StateType.View);

            grid.DisplayManager.BindingControls.Add(grid);
            grid.CreateGrid();
            ManagerFactory.CreateSearchManagerEagerFetchs(dm.SearchManager, gridName);

            grid.AfterLoadData();
        }
예제 #2
0
        internal static void SetUnBoundGridDataBinding(this IBoundGrid grid)
        {
            try
            {
                grid.BeginInit();

                grid.DataRows.Clear();

                GridInfo gridInfo = ADInfoBll.Instance.GetGridInfo(grid.GridName);
                if (!Authority.AuthorizeByRule(gridInfo.Visible))
                {
                    return;
                }
                if (!string.IsNullOrEmpty(gridInfo.ReadOnly))
                {
                    grid.ReadOnly = Authority.AuthorizeByRule(gridInfo.ReadOnly);
                }

                GridRowInfo gridRowInfo = ADInfoBll.Instance.GetGridRowInfo(grid.GridName);

                foreach (object entity in grid.DisplayManager.Items)
                {
                    if (!Permission.AuthorizeByRule(gridRowInfo.Visible, entity))
                    {
                        continue;
                    }
                    Xceed.Grid.DataRow row = grid.DataRows.AddNew();
                    grid.SetDataRowsIListData(entity, row);
                    row.EndEdit();
                }
            }
            catch (Exception ex)
            {
                ExceptionProcess.ProcessWithNotify(ex);
            }
            finally
            {
                grid.EndInit();
            }

            grid.AfterLoadData();
        }