internal static void SetGridPermissions(this IArchiveGrid grid) { GridInfo info = ADInfoBll.Instance.GetGridInfo(grid.GridName); if (!string.IsNullOrEmpty(info.AllowInnerInsert)) { grid.AllowInnerInsert = Authority.AuthorizeByRule(info.AllowInnerInsert); } if (!string.IsNullOrEmpty(info.AllowInnerEdit)) { grid.AllowInnerEdit = Authority.AuthorizeByRule(info.AllowInnerEdit); } if (!string.IsNullOrEmpty(info.AllowInnerDelete)) { grid.AllowInnerDelete = Authority.AuthorizeByRule(info.AllowInnerDelete); } if (!string.IsNullOrEmpty(info.AllowInsert)) { grid.ControlManager.AllowInsert = Authority.AuthorizeByRule(info.AllowInsert); } if (!string.IsNullOrEmpty(info.AllowEdit)) { grid.ControlManager.AllowEdit = Authority.AuthorizeByRule(info.AllowEdit); } if (!string.IsNullOrEmpty(info.AllowDelete)) { grid.ControlManager.AllowDelete = Authority.AuthorizeByRule(info.AllowDelete); } }
/// <summary> /// /// </summary> /// <param name="name"></param> public void LoadItems() { IList <AlertInfo> list = ADInfoBll.Instance.GetAlertInfo(); if (list == null || list.Count == 0) { return; } Dictionary <string, int> groupIdxs = new Dictionary <string, int>(); foreach (AlertInfo info in list) { ActionInfo actionInfo = ADInfoBll.Instance.GetActionInfo(info.Action.Name); if (Authority.AuthorizeByRule(actionInfo.Access)) { if (!groupIdxs.ContainsKey("警示")) { groupIdxs["警示"] = this.Items.Add("警示"); } int groupIdx = groupIdxs["警示"]; int childIdx = this.Items[groupIdx].Items.Add(info.Description); this.Items[groupIdx].Items[childIdx].Click += new SmartItemClickEventHandler(TaskPaneAlert_Click); this.Items[groupIdx].Items[childIdx].MouseDown += new System.Windows.Forms.MouseEventHandler(TaskPaneAlert_MouseDown); this.Items[groupIdx].Items[childIdx].Tag = info; } } }
private void LoadPlugins() { IList <PluginInfo> list = ADInfoBll.Instance.GetInfos <PluginInfo>(); foreach (PluginInfo i in list) { if (Authority.AuthorizeByRule(i.Permission)) { try { object ret = ProcessInfoHelper.ExecuteProcess(i.Process.Name, new Dictionary <string, object> { { "mdiForm", this } }); IPlugin p = ret as IPlugin; if (p == null) { throw new ArgumentException(string.Format("插件\"{0}\"创建错误", i.Name), new ArgumentException("Plugin should return an instance of IPlugin!")); } p.OnLoad(); m_plugins.Add(p); } catch (Exception ex) { ExceptionProcess.ProcessWithNotify(ex); } } } }
private void ColumnManageCell_MouseDown(object sender, MouseEventArgs e) { Cell cell = (Cell)sender; GridInfo gridInfo = ADInfoBll.Instance.GetGridInfo(m_grid.GridName); if (!Authority.AuthorizeByRule(gridInfo.AllowInnerMenu) && !Authority.IsDeveloper()) { return; } if (e.Button == MouseButtons.Right) { // DetailGrid只是从DetailGridTemplate复制,Constructor里的grid只是模版 DetailGrid detailGrid = ((Xceed.Grid.ColumnManagerCell)sender).ParentGrid; if (detailGrid is DataBoundDetailGrid) { m_grid = detailGrid as DataBoundDetailGrid; } m_contextMenuManagerColumnCell = cell; contextMenuStrip2.Show(cell.PointToScreen(new System.Drawing.Point(e.X, e.Y))); } else { m_contextMenuManagerColumnCell = null; } }
internal static void ResetSearchControlInfos(MyGrid grdSetup, IDisplayManager dmMaster) { if (dmMaster == null) { return; } if (dmMaster.SearchManager != null) { int n = 0; foreach (ISearchControl sc in dmMaster.SearchManager.SearchControls) { GridColumnInfo info = sc.Tag as GridColumnInfo; if (info == null || (!string.IsNullOrEmpty(info.SearchControlType) && Authority.AuthorizeByRule(info.SearchControlVisible))) { sc.Available = true; } else { sc.Available = false; } sc.Index = n; n++; } //LoadSearchControlInfos(grdSetup, dmMaster); } }
/// <summary> /// Constructor /// </summary> /// <param name="selectFormName"></param> public ArchiveSelectForm(string selectFormName) { InitializeComponent(); IList <WindowSelectInfo> list = ADInfoBll.Instance.GetWindowSelectInfo(selectFormName); if (list == null) { return; } foreach (WindowSelectInfo info in list) { if (!Authority.AuthorizeByRule(info.Visible)) { continue; } MyRadioButton rbg = new MyRadioButton(); rbg.Text = info.Text; rbg.Tag = info; this.flowLayoutPanel1.Controls.Add(rbg); } if (this.flowLayoutPanel1.Controls.Count > 0) { (this.flowLayoutPanel1.Controls[0] as MyRadioButton).Checked = true; } }
private void AddRowEvents() { GridInfo gridInfo = ADInfoBll.Instance.GetGridInfo(m_grid.GridName); if (Authority.AuthorizeByRule(gridInfo.AllowInnerEdit)) { m_grid.DataRowTemplate.EditBegun += new EventHandler(row_EditBegun); m_grid.DataRowTemplate.EndingEdit += new System.ComponentModel.CancelEventHandler(row_EndingEdit); //m_grid.DataRowTemplate.EditEnded += new EventHandler(row_EditEnded); m_grid.DataRowTemplate.EditCanceled += new EventHandler(row_EditCanceled); m_grid.DataRowTemplate.ValidationError += new RowValidationErrorEventHandler(row_ValidationError); } if (Authority.AuthorizeByRule(gridInfo.AllowInnerInsert)) { // InsertionRow will also raise DataRow Events // It will raise two times, but for show error description, we should use InsertionRow Events if (m_insertionRow != null) { m_insertionRow.EditBegun += new EventHandler(row_EditBegun); m_insertionRow.EndingEdit += new System.ComponentModel.CancelEventHandler(row_EndingEdit); m_insertionRow.ValidationError += new RowValidationErrorEventHandler(row_ValidationError); m_insertionRow.EditCanceled += new EventHandler(row_EditCanceled); } } }
/// <summary> /// 重新读入绑定Grid默认Layout /// </summary> /// <param name="grid"></param> public static void LoadGridDefaultLayout(this IGrid grid) { if (ADInfoBll.Instance.GetGridColumnInfos(grid.GridName).Count > 0) { foreach (GridColumnInfo info in ADInfoBll.Instance.GetGridColumnInfos(grid.GridName)) { Xceed.Grid.Column column = grid.Columns[info.GridColumnName]; if (column != null) { column.Visible = Authority.AuthorizeByRule(info.ColumnVisible); column.VisibleIndex = info.SeqNo; column.Fixed = info.ColumnFixed.HasValue ? info.ColumnFixed.Value : false; } } } else { foreach (Xceed.Grid.Column column in grid.Columns) { column.Visible = true; column.Fixed = false; } } }
private void LoadCustomSearch(string gridName) { IList <CustomSearchInfo> list = ADInfoBll.Instance.GetCustomSearchInfo(gridName); if (list == null || list.Count == 0) { return; } int groupIdx1 = customSearchPane.Items.Add("预定义"); foreach (CustomSearchInfo info in list) { if (!Authority.AuthorizeByRule(info.Visible)) { continue; } int childIdx1 = customSearchPane.Items[groupIdx1].Items.Add(info.Name); customSearchPane.Items[groupIdx1].Items[childIdx1].Text = info.Text; customSearchPane.Items[groupIdx1].Items[childIdx1].ToolTipText = info.Help; customSearchPane.Items[groupIdx1].Items[childIdx1].Click += new SmartItemClickEventHandler(CustomSearchItem_Click); customSearchPane.Items[groupIdx1].Items[childIdx1].Tag = info; } }
internal static void LoadSearchControlInfos(MyGrid grdSetup, IDisplayManager dmMaster) { if (dmMaster == null) { return; } if (grdSetup.Columns.Count == 0) { grdSetup.Columns.Add(new Xceed.Grid.Column("名称", typeof(string))); grdSetup.Columns.Add(new Xceed.Grid.Column("是否显示", typeof(bool))); grdSetup.ReadOnly = false; grdSetup.Columns["是否显示"].ReadOnly = false; grdSetup.Columns["名称"].ReadOnly = true; } grdSetup.DataRows.Clear(); ISearchManager sm = dmMaster.SearchManager; if (sm != null) { SortedList <int, ISearchControl> scc1 = new SortedList <int, ISearchControl>(); SortedList <int, ISearchControl> scc2 = new SortedList <int, ISearchControl>(); foreach (ISearchControl sc in sm.SearchControls) { GridColumnInfo info = sc.Tag as GridColumnInfo; if (info == null || (!string.IsNullOrEmpty(info.SearchControlType) && Authority.AuthorizeByRule(info.SearchControlVisible))) { if (sc.Available) { scc1.Add(sc.Index, sc); } else { scc2.Add(sc.Index, sc); } } } foreach (KeyValuePair <int, ISearchControl> kvp in scc1) { Xceed.Grid.DataRow row = grdSetup.DataRows.AddNew(); row.Cells["是否显示"].Value = kvp.Value.Available; row.Cells["名称"].Value = kvp.Value.Caption; row.EndEdit(); } foreach (KeyValuePair <int, ISearchControl> kvp in scc2) { Xceed.Grid.DataRow row = grdSetup.DataRows.AddNew(); row.Cells["是否显示"].Value = kvp.Value.Available; row.Cells["名称"].Value = kvp.Value.Caption; row.EndEdit(); } } }
internal static void LoadGridInfos(MyGrid grdSetup, IGrid masterGrid) { if (masterGrid == null) { return; } if (grdSetup.Columns.Count == 0) { grdSetup.Columns.Add(new Xceed.Grid.Column("名称", typeof(string))); grdSetup.Columns.Add(new Xceed.Grid.Column("是否显示", typeof(bool))); grdSetup.ReadOnly = false; grdSetup.Columns["是否显示"].ReadOnly = false; grdSetup.Columns["名称"].ReadOnly = true; } grdSetup.DataRows.Clear(); if (masterGrid != null) { Dictionary <string, GridColumnInfo> visibleColumns = new Dictionary <string, GridColumnInfo>(); IList <GridColumnInfo> gridColumnInfos = ADInfoBll.Instance.GetGridColumnInfos(masterGrid.GridName); bool hasInfo = gridColumnInfos.Count > 0; foreach (GridColumnInfo info in gridColumnInfos) { if (!Authority.AuthorizeByRule(info.ColumnVisible)) { continue; } visibleColumns[info.GridColumnName] = info; } SortedList <int, Xceed.Grid.Column> columns = new SortedList <int, Xceed.Grid.Column>(); foreach (Xceed.Grid.Column column in masterGrid.Columns) { if (hasInfo && !visibleColumns.ContainsKey(column.FieldName)) { continue; } columns.Add(column.VisibleIndex, column); } foreach (KeyValuePair <int, Xceed.Grid.Column> kvp in columns) { Xceed.Grid.DataRow row = grdSetup.DataRows.AddNew(); row.Cells["是否显示"].Value = kvp.Value.Visible; row.Cells["名称"].Value = kvp.Value.Title; row.EndEdit(); if (visibleColumns.ContainsKey(kvp.Value.FieldName)) { row.ReadOnly = Authority.AuthorizeByRule(visibleColumns[kvp.Value.FieldName].NotNull); } } } }
private void CreateGridColumns(IGrid grid) { try { grid.BeginInit(); grid.Columns.Clear(); foreach (GridColumnInfo info in ADInfoBll.Instance.GetGridColumnInfos(grid.GridName)) { // 有些列是要设置值但不可见的,例如Id //if (!Authority.AuthorizeByRule(info.ColumnVisible)) // continue; switch (info.GridColumnType) { case GridColumnType.Normal: { Xceed.Grid.Column column; if (grid.Columns[info.GridColumnName] != null) { throw new ArgumentException("there have already exist column " + info.GridColumnName); } else { column = new Xceed.Grid.Column(info.GridColumnName, GridColumnInfoHelper.CreateType(info)); } UnBoundGridExtention.SetColumnProperties(column, info, grid); GridFactory.CreateCellViewerManager(column, info, this.ControlManager.DisplayManager); bool readOnly = Authority.AuthorizeByRule(info.ReadOnly); if (!readOnly) { GridFactory.CreateCellEditorManager(column, info, this.ControlManager.DisplayManager); } grid.Columns.Add(column); } break; default: break; //default: // throw new InvalidOperationException("Invalide gridcolumnType of " + info.GridColumnType + " in " + info.Name); } } } catch (Exception ex) { ExceptionProcess.ProcessWithNotify(ex); } finally { grid.EndInit(); } }
internal static void SetColumnProperties(Xceed.Grid.Column column, GridColumnInfo info, IGrid grid) { column.Visible = Authority.AuthorizeByRule(info.ColumnVisible); if (!column.Visible) { // only for column custom visible column.MaxWidth = 0; } column.VisibleIndex = info.SeqNo; column.Title = (string.IsNullOrEmpty(info.Caption) ? info.PropertyName : info.Caption); column.Tag = info; bool readOnly = Authority.AuthorizeByRule(info.ReadOnly); if (readOnly) { column.ReadOnly = readOnly; } if (!string.IsNullOrEmpty(info.BackColor)) { column.BackColor = System.Drawing.Color.FromName(info.BackColor); } if (!string.IsNullOrEmpty(info.ForeColor)) { column.ForeColor = System.Drawing.Color.FromName(info.ForeColor); } if (!string.IsNullOrEmpty(info.FontName) && info.FontSize.HasValue) { column.Font = new System.Drawing.Font(info.FontName, info.FontSize.Value); } //if (info.ColumnWidth.HasValue) //{ // column.Width = info.ColumnWidth.Value * grid.Width / 1024; //} if (info.ColumnMaxWidth.HasValue) { column.MaxWidth = info.ColumnMaxWidth.Value; } if (info.ColumnFixed.HasValue) { column.Fixed = info.ColumnFixed.Value; } if (!string.IsNullOrEmpty(info.SortDirection)) { if (info.SortDirection.ToUpper() == "ASC") { column.SortDirection = SortDirection.Ascending; } else if (info.SortDirection.ToUpper() == "DESC") { column.SortDirection = SortDirection.Descending; } } }
/// <summary> /// /// </summary> /// <param name="detailGrid"></param> protected void CreateDetailGridSumRow(MyDetailGrid detailGrid) { bool needSum = false; if (!needSum) { foreach (Column column in detailGrid.Columns) { GridColumnInfo info = column.Tag as GridColumnInfo; if (info == null) { continue; } if (string.IsNullOrEmpty(info.StatFunction) || !Authority.AuthorizeByRule(info.ColumnVisible)) { continue; } needSum = true; break; } } if (needSum) { SummaryRow sumRow = detailGrid.AddSummaryRowToFixedFooter(); sumRow.TextFormat = ADInfoBll.Instance.GetGridInfo(detailGrid.GridName).StatTitle; foreach (Column column in detailGrid.Columns) { GridColumnInfo info = column.Tag as GridColumnInfo; if (info == null) { continue; } if (string.IsNullOrEmpty(info.StatFunction) || !Authority.AuthorizeByRule(info.ColumnVisible)) { continue; } MySummaryCell cell = ((MySummaryCell)sumRow.Cells[info.GridColumnName]); cell.StatFunction = BoundGridExtention.GetStatFunction(info.StatFunction); cell.RunningStatGroupLevel = 0; cell.ResultDataType = typeof(string); if (!string.IsNullOrEmpty(info.StatTitle)) { cell.TitleFormat = info.StatTitle; cell.TitlePosition = TitlePosition.PreferablyRight; } } } }
// 表格配置用.xmlg,搜索窗口配置用.xmls void contextMenuStrip2_Opening(object sender, System.ComponentModel.CancelEventArgs e) { Xceed.Grid.Cell cell = m_contextMenuManagerColumnCell; if (cell == null) { return; } GridColumnInfo columnInfo = cell.ParentColumn.Tag as GridColumnInfo; if (columnInfo.EnableCopy.HasValue) { tsmCopyColumn.Visible = columnInfo.EnableCopy.Value; } GridInfo gridInfo = ADInfoBll.Instance.GetGridInfo(m_grid.GridName); if (!Authority.AuthorizeByRule(gridInfo.AllowInnerFilter)) { tsmFilter.Visible = false; } else { tsmFilter.Checked = m_grid.GetFilterRowVisible(); } tsmGroup.Checked = (m_grid.GetGroupByRow() != null); if (m_masterGrid != null && tsmPresetLayout.DropDownItems.Count == 0) { string[] folders = new string[] { m_masterGrid.GetGridDefaultDataDirectory(), m_masterGrid.GetGridGlobalDataDirectory() }; foreach (string folder in folders) { if (!System.IO.Directory.Exists(folder)) { continue; } foreach (string fileName in System.IO.Directory.GetFiles(folder, "*.xmlg")) { ToolStripMenuItem item = new ToolStripMenuItem(); item.Text = System.IO.Path.GetFileName(fileName).Replace(".xmlg", ""); item.Tag = fileName; item.Click += new EventHandler(tsmPresetSubitem_Click); tsmPresetLayout.DropDownItems.Add(item); } } if (tsmPresetLayout.DropDownItems.Count == 0) { tsmPresetLayout.Visible = false; } } }
private void CreateColumns(int level, WindowTabInfo tabInfo) { string gridName = tabInfo.GridName; //"网页查询_客户委托情况_进口"; foreach (GridColumnInfo info in ADInfoBll.Instance.GetGridColumnInfos(gridName)) { if (info.GridColumnType == GridColumnType.Normal) { if (!Authority.AuthorizeByRule(info.ColumnVisible)) { continue; } if (this.Grid1.Levels.Count <= level) { this.Grid1.Levels.Add(new ComponentArt.Web.UI.GridLevel()); } ComponentArt.Web.UI.GridColumn column = GetColumn(info); if (!this.Grid1.Levels[level].Columns.Contains(column)) { this.Grid1.Levels[level].Columns.Add(GetColumn(info)); } } } //m_levelTabInfos[level] = tabInfo; //if (tabInfo.Childs.Count > 1) //{ // //throw new NotSupportedException("only one child is supported!"); //} //for (int i = 0; i < Math.Min(1, tabInfo.Childs.Count); i++) //{ // WindowTabInfo subTabInfo = tabInfo.Childs[i]; // CreateColumns(level + 1, subTabInfo); // if (!m_isHierarchicalEventCreated) // { // this.Grid1.NeedChildDataSource += new ComponentArt.Web.UI.Grid.NeedChildDataSourceEventHandler(Grid1_NeedChildDataSource); // m_isHierarchicalEventCreated = true; // } //} for (int i = 0; i < tabInfo.ChildTabs.Count; i++) { this.Grid1.Levels[level].Columns[i].DataCellCssClass = "DetailTemplate"; } }
//protected void AssociateButtonAdd(Button button, IControlManager cm) //{ // cm.StateControls.Add(new StateControl(button, true)); // button.Click += new EventHandler((sender, e) => // { // cm.AddNew(); // UpdateContent(m_cm, m_controlGroupName); // (m_cm.DisplayManager.CurrentItem as 任务).任务来源 = 任务来源.手工; // (m_cm.DisplayManager.CurrentItem as 任务).IsActive = true; // }); //} public static void RestrictToUserAccess(ISearchManager sm, string adminName) { if (!Authority.AuthorizeByRule("R:" + adminName)) { string userRestriction = string.Format("CreatedBy = {0}", SystemConfiguration.UserName); if (string.IsNullOrEmpty(sm.AdditionalSearchExpression)) { sm.AdditionalSearchExpression = userRestriction; } else { sm.AdditionalSearchExpression = "(" + sm.AdditionalSearchExpression + ")" + " AND " + userRestriction; } } }
private static void SetGridPermissions(WindowTabInfo tabInfo, IControlManager cm) { GridInfo info = ADInfoBll.Instance.GetGridInfo(tabInfo.GridName); if (!string.IsNullOrEmpty(info.AllowInsert)) { cm.AllowInsert = Authority.AuthorizeByRule(info.AllowInsert); } if (!string.IsNullOrEmpty(info.AllowEdit)) { cm.AllowEdit = Authority.AuthorizeByRule(info.AllowEdit); } if (!string.IsNullOrEmpty(info.AllowDelete)) { cm.AllowDelete = Authority.AuthorizeByRule(info.AllowDelete); } }
/// <summary> /// Constructor /// </summary> /// <param name="gridControl"></param> public BoundGridHelper(IBoundGrid gridControl) { InitializeComponent(); m_grid = gridControl; m_masterGrid = m_grid as MyGrid; if (m_masterGrid == null) { tsmFind.Visible = false; //tsmExportExcel.Visible = false; tsmPrintPreview.Visible = false; tsmGenerateReport.Visible = false; toolStripSeparator1.Visible = false; //tsmGroup.Visible = false; tsmLoadLayout.Visible = false; tsmSaveLayout.Visible = false; tsmPresetLayout.Visible = false; } this.tsmResetColumns.Image = Feng.Windows.ImageResource.Get("Feng", "Icons.iconReset.png").Reference; this.tsmInvibleColumn.Image = Feng.Windows.ImageResource.Get("Feng", "Icons.iconInvisible.png").Reference; this.tsmAutoAdjustWidth.Image = Feng.Windows.ImageResource.Get("Feng", "Icons.iconAdjust.png").Reference; this.tsmPresetLayout.Image = Feng.Windows.ImageResource.Get("Feng", "Icons.iconPreset.png").Reference; this.tsmLoadLayout.Image = Feng.Windows.ImageResource.Get("Feng", "Icons.iconOpen.png").Reference; this.tsmSaveLayout.Image = Feng.Windows.ImageResource.Get("Feng", "Icons.iconSave.png").Reference; this.tsmFilter.Image = Feng.Windows.ImageResource.Get("Feng", "Icons.iconFilter.png").Reference; this.tsmGroup.Image = Feng.Windows.ImageResource.Get("Feng", "Icons.iconGroup.png").Reference; this.tsmResetColumns.Image = Feng.Windows.ImageResource.Get("Feng", "Icons.iconReset.png").Reference; this.tsmFind.Image = Feng.Windows.ImageResource.Get("Feng", "Icons.iconFind.png").Reference; this.tsmExportExcel.Image = Feng.Windows.ImageResource.Get("Feng", "Icons.iconExportExcel.png").Reference; this.tsmPrintPreview.Image = Feng.Windows.ImageResource.Get("Feng", "Icons.iconPrint.png").Reference; this.tsmGenerateReport.Image = Feng.Windows.ImageResource.Get("Feng", "Icons.iconReport.png").Reference; this.tsmSetup.Image = Feng.Windows.ImageResource.Get("Feng", "Icons.iconSetup.png").Reference; this.tsmRefresh.Image = Feng.Windows.ImageResource.Get("Feng", "Icons.iconRefresh.png").Reference; //this.tsmRefresh.Visible = false; GridInfo gridInfo = ADInfoBll.Instance.GetGridInfo(m_grid.GridName); if (Authority.AuthorizeByRule(gridInfo.AllowInnerMenu) || Authority.IsDeveloper()) { m_grid.GridHelper.MergeContenxtMenuStripForCell(this.contextMenuStrip1); } }
/// <summary> /// /// </summary> /// <param name="grid"></param> public ArchiveGridHelper(IArchiveGrid grid) { m_grid = grid; m_cm = grid.ControlManager; InitializeComponent(); this.tsmDelete.Image = Feng.Windows.ImageResource.Get("Feng", "Icons.iconErase.png").Reference; this.tsmDeleteBatch.Image = Feng.Windows.ImageResource.Get("Feng", "Icons.iconErase.png").Reference; this.tsmDelete.Visible = false; GridInfo gridInfo = ADInfoBll.Instance.GetGridInfo(m_grid.GridName); if (Authority.AuthorizeByRule(gridInfo.AllowInnerMenu) || Authority.IsDeveloper()) { m_grid.GridHelper.MergeContenxtMenuStripForCell(this.contextMenuStrip1); } }
internal void Initialize() { GridInfo gridInfo = ADInfoBll.Instance.GetGridInfo(m_grid.GridName); if (Authority.AuthorizeByRule(gridInfo.AllowInnerSearch)) { m_grid.SetSearchRowVisible(true); } if (Authority.AuthorizeByRule(gridInfo.AllowInnerFilter)) { m_grid.SetFilterRowVisible(true); } if (Authority.AuthorizeByRule(gridInfo.AllowInnerTextFilter)) { m_grid.SetTextFilterRowVisible(true); } m_grid.GridHelper.ContextMenuStripForCell.Opening += new System.ComponentModel.CancelEventHandler(ContextMenuStripForCell_Opening); }
internal static void AddDateItemToUnBoundGrid(this IBoundGrid grid, object dataItem) { GridInfo gridInfo = ADInfoBll.Instance.GetGridInfo(grid.GridName); if (!Authority.AuthorizeByRule(gridInfo.Visible)) { return; } GridRowInfo gridRowInfo = ADInfoBll.Instance.GetGridRowInfo(grid.GridName); if (!Permission.AuthorizeByRule(gridRowInfo.Visible, dataItem)) { return; } Xceed.Grid.DataRow row = grid.DataRows.AddNew(); grid.SetDataRowsIListData(dataItem, row); row.EndEdit(); }
private void LoadDefaultLayout(DetailGrid detailGrid, GridColumnInfo info) { Xceed.Grid.Column column = detailGrid.Columns[info.GridColumnName]; if (column != null) { column.Visible = Authority.AuthorizeByRule(info.ColumnVisible); column.VisibleIndex = info.SeqNo; } else { foreach (Xceed.Grid.DataRow row in detailGrid.DataRows) { if (row.DetailGrids.Count > 0) { LoadDefaultLayout(row.DetailGrids[0], info); } } } }
/// <summary> /// /// </summary> /// <param name="list"></param> /// <param name="gridName"></param> /// <returns></returns> public IList <Dictionary <string, object> > Process(IEnumerable list, string gridName) { IList <Dictionary <string, object> > ret = new List <Dictionary <string, object> >(); // grid if (!Authority.AuthorizeByRule(ADInfoBll.Instance.GetGridInfo(gridName).Visible)) { return(ret); } foreach (object entity in list) { Dictionary <string, object> r = Process(entity, gridName); ret.Add(r); } return(ret); }
/// <summary> /// /// </summary> /// <param name="name"></param> /// <param name="fm"></param> public void LoadMenus(ISearchManager sm, string name) { IList <CustomSearchInfo> list; list = m_bll.GetCustomSearchInfo(name); if (list == null || list.Count == 0) { this.Visible = false; return; } foreach (CustomSearchInfo info in list) { if (!Authority.AuthorizeByRule(info.Visible)) { continue; } ToolStripItem item; if (info.SearchExpression.ToUpper() == "SEPARATOR") { item = new ToolStripSeparator(); } else { item = new ToolStripMenuItem(); item.Name = info.Name + "ToolStripItem"; item.Size = new System.Drawing.Size(172, 22); item.Text = info.Text; item.Click += new System.EventHandler(this.ToolStripMenuItem_Click); item.Tag = info; } this.DropDownItems.Add(item); } m_sm = sm; if (list.Count > 0) { ToolStripMenuItem_Click(this.DropDownItems[0], System.EventArgs.Empty); } }
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(); }
/// <summary> /// /// </summary> /// <param name="name"></param> public void LoadMenus(string groupName) { IList <TaskInfo> list = ADInfoBll.Instance.GetTaskInfo(groupName); if (list == null || list.Count == 0) { return; } //ProgressForm progressForm = new ProgressForm(); //progressForm.Start(this.FindForm(), "计算"); Dictionary <string, int> groupIdxs = new Dictionary <string, int>(); foreach (TaskInfo info in list) { ActionInfo menuInfo = ADInfoBll.Instance.GetActionInfo(info.Action.Name); if (Authority.AuthorizeByRule(menuInfo.Access)) { if (Authority.AuthorizeByRule(info.Visible)) { if (!groupIdxs.ContainsKey(info.ParentName)) { groupIdxs[info.ParentName] = this.Items.Add(info.ParentName); } int groupIdx = groupIdxs[info.ParentName]; int childIdx = this.Items[groupIdx].Items.Add(info.Name); this.Items[groupIdx].Items[childIdx].Text = info.Text; this.Items[groupIdx].Items[childIdx].Click += new SmartItemClickEventHandler(TaskPane_Click); this.Items[groupIdx].Items[childIdx].Tag = info; //this.Items[groupIdx].Items[childIdx].Visible = Authority.AuthorizeByRule(info.Visible); //if (this.Items[groupIdx].Items[childIdx].Visible) { RepalceParameterizedText(groupIdx, childIdx); } } } } //progressForm.Stop(); }
/// <summary> /// 根据GroupName从数据库读入数据 /// </summary> public void LoadFromDatabase(string groupName) { Clear(); IList <CustomSearchInfo> lists = ADInfoBll.Instance.GetCustomSearchInfo(groupName); for (int i = 0; i < lists.Count; ++i) { if (!Authority.AuthorizeByRule(lists[i].Visible)) { continue; } myComboBox1.Items.Add(new object[] { lists[i].Text }); dict[lists[i].Text] = lists[i].SearchExpression; } myComboBox1.AdjustDropDownControlSize(); }
/// <summary> /// /// </summary> /// <param name="entity"></param> public string Calculate(object entity) { StringBuilder sb = new StringBuilder(); foreach (GridColumnWarningInfo info in m_warningInfos) { if (!Authority.AuthorizeByRule(info.Visible)) { continue; } object ret = EntityScript.CalculateExpression(info.Expression, entity); if (ret != null && (bool)ret) { sb.Append(info.Text); sb.Append(","); } } return(sb.ToString()); }
/// <summary> /// 保存查找控件信息 /// </summary> /// <param name="grid"></param> /// <param name="profile"></param> /// <returns></returns> public bool LoadLayout(AMS.Profile.IProfile profile) { string sectionName = "SearchControlContainer." + "." + m_sm.Name + ".Layout"; string s = profile.GetValue(sectionName, "SearchControls", ""); if (string.IsNullOrEmpty(s)) { return(false); } string[] columns = s.Split(new string[] { System.Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries); foreach (string columnName in columns) { string[] ss = columnName.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); if (ss.Length != 3) { continue; } ISearchControl sc = m_sm.SearchControls[ss[0]]; if (sc == null) { continue; } GridColumnInfo info = sc.Tag as GridColumnInfo; if (info == null || (!string.IsNullOrEmpty(info.SearchControlType) && Authority.AuthorizeByRule(info.SearchControlVisible))) { sc.Available = Convert.ToBoolean(ss[1]); } else { m_sm.SearchControls[ss[0]].Available = false; } sc.Index = Convert.ToInt32(ss[2]); } return(true); }