protected void ToggleToolByName(string toolName, bool enabled) { try { Sys_Button sys_Button = ButtonList.Find(b => b.Button_Sub != null && b.Button_Sub.Equals(toolName)); if (sys_Button != null) { BaseBar.BeginUpdate(); sys_Button.Button_Enabled = enabled; BarLargeButtonItem barButtonItem = (BarLargeButtonItem)sys_Button.Button_BarItem; barButtonItem.Enabled = enabled; BaseBar.EndUpdate(); } } catch (Exception ex) { SharedFunc.RaiseError(ex); } }
protected XtraReport InitializeReport(string rptName) { try { List <MyParameter> mps = new List <MyParameter>(); mps.Add("@Report_Id", DbType.String, rptName, null); List <Sys_Report> rpts = BaseService.Open <Sys_Report>("SystemMenu_Report", mps); if (rpts.Count > 0) { Sys_Report rpt = rpts[0]; string wk = rpt.Report_WorkSet; if (string.IsNullOrEmpty(wk)) { return(null); } mps = InitializeBind(wk, true); DataTable dt = BaseService.Open(wk, mps); byte[] bytes = rpt.Report_Bytes; if (bytes == null) { return(null); } XtraReport xtraReport = new XtraReport(); xtraReport.DataSource = dt; xtraReport.LoadLayout(bytes.ToStream()); File.Delete(rptName); return(xtraReport); } return(null); } catch (Exception ex) { SharedFunc.RaiseError(ex); return(null); } finally { } }
private void InitializeChart() { try { if (SysPage != null) { foreach (Sys_WorkSet sys_WorkSet in WorkSetList.Where(w => w.WorkSet_Type == (byte)Sys_WorkSet_Type.Chart)) { Control[] controls = this.Controls.Find(sys_WorkSet.WorkSet_Grid, true); if (controls.Length > 0) { Control control = controls[0]; if (control.GetType().Equals(typeof(ChartControl))) { //加载布局 List <MyParameter> myParameters = new List <MyParameter>(); myParameters.Add("@Chart_WorkSet", DbType.String, sys_WorkSet.WorkSet_Id, null); DataTable dt = BaseService.Open("SystemWorkSet_Chart", myParameters); Sys_Chart sys_Chart = EntityHelper.GetEntity <Sys_Chart>(dt); if (sys_Chart == null) { return; } ChartControl chartControl = (ChartControl)control; chartControl.LoadFromStream(new MemoryStream(sys_Chart.Chart_Bytes, true)); //脚在数据源 myParameters.Clear(); myParameters = InitializeBind(sys_WorkSet.WorkSet_Id, true); chartControl.DataSource = BaseService.Open(sys_WorkSet.WorkSet_Id, myParameters); } } } } } catch (Exception ex) { SharedFunc.RaiseError(ex); } }
private GridControl FocusedGrid() { try { Control targetControl = this.ActiveControl; //LayoutControl lyc = (LayoutControl)targetControl; if (targetControl == null) { return(null); } if (targetControl.GetType() != typeof(GridControl) && ConvertHelper.IsBaseOn(targetControl, typeof(ContainerControl))) { targetControl = ((ContainerControl)targetControl).ActiveControl; } if (targetControl == null) { return(null); } while (targetControl.GetType() != typeof(GridControl) && targetControl.Parent != null) { targetControl = targetControl.Parent; } if (targetControl != null && targetControl.GetType().Equals(typeof(GridControl))) { return((GridControl)targetControl); } } catch (Exception ex) { SharedFunc.RaiseError(ex); } finally { } return(null); }
private void InitializePage() { try { if (!this.DesignMode && SysPage != null) { // InitializeForeign(); InitializeIcon(); InitializeLayout(); //初始按钮 InitializeTool(); //自动变更按钮状态 InitializeHandler(this); //初始WorkSet InitializeWorkSet(); //初始查询框 InitializeQuery(); //初始验证数据 InitializeValidation(); InitializeGridControl(); InitializeSubmitControl(); InitializeFormat(); InitializeChart(); InitializeTree(); InitializeGroupPanel(); InitializeValidationBaseEdit(); // //Global_Query_PageLoad_Open } } catch (Exception ex) { SharedFunc.RaiseError(ex); } }
private void InitializeToolClick(object sender, ItemClickEventArgs e) { //this.UseWaitCursor = Cursors.WaitCursor; LastButton = e.Item; BeforeToolClick(e.Item); try { ToolPress = true; sw.Restart(); Sys_Button sys_Button = ButtonList.Find(b => !string.IsNullOrEmpty(b.Button_Sub) && b.Button_Id != null && b.Button_Id.Equals(e.Item.Name)); if (sys_Button != null) { if (sys_Button.Button_Validation) { //只验证可见控件 if (!this.ValidateChildren(ValidationConstraints.Visible)) { return; //throw new Exception("Validate Field"); } } //BaseService.SaveLog(sys_Button.Button_Nick, sys_Button.Button_Hint, (byte)Sys_Enum.Sys_Log_Type.Operation, sys_Button.Button_Page); if (sys_Button.Button_Confirm) { string cTxt = Provider.Get("ChildPage_ConfirmCaption").ToStringEx(); string tTxt = Provider.Get("ChildPage_ConfirmText").ToStringEx(); if (XtraMessageBox.Show(tTxt, cTxt, MessageBoxButtons.YesNo) != DialogResult.Yes) { sw.Stop(); return; } } string parameter = sys_Button.Button_Parameter; if (!string.IsNullOrEmpty(parameter)) { ReflectionHelper.LoadMethod(this, sys_Button.Button_Sub, new object[] { parameter }); } else { ReflectionHelper.LoadMethod(this, sys_Button.Button_Sub, new object[] { }); } if (sys_Button.Button_Open) { Sys_Button Open_Button = ButtonList.Find(b => b.Button_Sub == "Open" && b.Button_Visible && b.Button_Enabled); if (Open_Button != null) { this.Open(); } } } BarTip.Caption = string.Format("{0}:{1}", e.Item.Caption, TimeDiff(sw)); SucceedToolClick(e.Item); } catch (Exception ex) { if (ex.InnerException != null) { ex = ex.InnerException; } SharedFunc.RaiseError(ex); CatchToolClick(e.Item, ex); } finally { //this.Cursor = Cursors.Default; ToolPress = false; AfterToolClick(e.Item); } }
private void InitializeQuery() { try { if (this.QueryControl == null) { return; } this.QueryControl.DoubleClick += QueryAutoClear; this.QueryControl.Controls.Clear(); this.Width = 1024; this.QueryControl.Width = 1024; LayoutControl eLayoutControl = new LayoutControl(); eLayoutControl.BeginUpdate(); eLayoutControl.AllowCustomization = false; LayoutControlGroup eLayoutControlGroup = new LayoutControlGroup(); eLayoutControl.Dock = System.Windows.Forms.DockStyle.Fill; eLayoutControl.Location = new System.Drawing.Point(2, 21); eLayoutControl.Name = "eLayoutControl"; eLayoutControl.Root = eLayoutControlGroup; eLayoutControl.Size = new System.Drawing.Size(1000, 90); eLayoutControl.TabIndex = 0; eLayoutControl.Text = "QueryLayout"; eLayoutControlGroup.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; eLayoutControlGroup.GroupBordersVisible = false; eLayoutControlGroup.Location = new Point(0, 0); eLayoutControlGroup.Name = "eLayoutControlGroup"; eLayoutControlGroup.Size = new Size(1000, 90); eLayoutControlGroup.TextVisible = false; this.QueryControl.Controls.Add(eLayoutControl); List <BaseLayoutItem> baseLayoutItems = new List <BaseLayoutItem>(); List <string> baseControls = new List <string>(); int curLeft = 0; int curTop = 0; foreach (Sys_Bind sys_Bind in BindList.Where(b => b.Bind_Name.StartsWith("@") && !string.IsNullOrEmpty(b.Bind_Field) && !b.Bind_Field.Contains(".") && WorkSetList.Find(w => w.WorkSet_Id == b.Bind_WorkSet && (w.WorkSet_Type == (int)Sys_WorkSet_Type.Submit || w.WorkSet_Type == (int)Sys_WorkSet_Type.Grid || w.WorkSet_Type == (int)Sys_WorkSet_Type.Tree)) != null).OrderBy(b => b.Bind_Sort)) { if (baseControls.Contains(sys_Bind.Bind_Field)) { continue; } baseControls.Add(sys_Bind.Bind_Field); sys_Bind.Bind_Type = 0; //查询字段 //界面已有控件不再生成 Control[] Controls = this.Controls.Find(sys_Bind.Bind_Field, true); if (Controls.Length > 0) { if (!string.IsNullOrEmpty(sys_Bind.Bind_Popup)) { BaseEdit cBaseEdit = (BaseEdit)Controls[0]; InitializeBaseEdit(sys_Bind, cBaseEdit); } continue; } BaseEdit baseEdit = InitializeBaseEdit(sys_Bind, null); baseEdit.Name = sys_Bind.Bind_Field; if (!string.IsNullOrEmpty(sys_Bind.Bind_Default)) { object obj = sys_Bind.Bind_Default; if (obj.ToString().StartsWith("wk:")) { obj = BaseService.Get(obj.ToString().Replace("wk:", ""), null); } ReflectionHelper.SetProperty(baseEdit, string.IsNullOrEmpty(sys_Bind.Bind_Property) ? "EditValue" : sys_Bind.Bind_Property, obj); //baseEdit.EditValue = sys_Bind.Bind_Default; if (baseEdit.GetType().Equals(typeof(CheckEdit))) { CheckEdit chkEdit = (CheckEdit)baseEdit; chkEdit.Text = string.Empty; chkEdit.Checked = obj.ToBoolEx(); } } if (baseEdit.GetType().Equals(typeof(CheckedComboBoxEdit))) { CheckedComboBoxEdit chkComboBox = (CheckedComboBoxEdit)baseEdit; chkComboBox.RefreshEditValue(); } baseEdit.EnterMoveNextControl = true; baseEdit.Width = (int)Math.Round(eLayoutControlGroup.Width * (sys_Bind.Bind_Width / 100.00)); baseEdit.Properties.Appearance.Options.UseTextOptions = true; baseEdit.Properties.Appearance.TextOptions.HAlignment = (DevExpress.Utils.HorzAlignment)sys_Bind.Bind_TextAlignment; if (sys_Bind.Bind_ForeColor < 0) { baseEdit.ForeColor = Color.FromArgb(sys_Bind.Bind_ForeColor); } if (sys_Bind.Bind_BackColor < 0) { baseEdit.BackColor = Color.FromArgb(sys_Bind.Bind_BackColor); } if (sys_Bind.Bind_BorderColor < 0) { baseEdit.Properties.Appearance.Options.UseBorderColor = true; baseEdit.Properties.Appearance.BorderColor = Color.FromArgb(sys_Bind.Bind_BorderColor); baseEdit.BorderStyle = BorderStyles.Simple; } baseEdit.ToolTip = sys_Bind.Bind_ToolTip; baseEdit.ReadOnly = sys_Bind.Bind_ReadOnly; baseEdit.Visible = sys_Bind.Bind_Visible; baseEdit.GotFocus += Control_GotFocus; eLayoutControl.GotFocus += Control_GotFocus; LayoutControlItem eLayoutControlItem = new LayoutControlItem(); eLayoutControlItem.Location = new System.Drawing.Point(curLeft, curTop); curLeft += baseEdit.Width; if (curLeft >= eLayoutControlGroup.Width) { curLeft = 0; curTop += baseEdit.Height; } //eLayoutControlItem.Width = (int)Math.Round(eLayoutControl.Width * (sys_Bind.Bind_Width / 100.00)); eLayoutControlItem.AppearanceItemCaption.TextOptions.HAlignment = (DevExpress.Utils.HorzAlignment)sys_Bind.Bind_TitleAlignment; eLayoutControlItem.Name = "oli_" + sys_Bind.Bind_Name; eLayoutControlItem.Text = sys_Bind.Bind_Nick; eLayoutControlItem.Size = new Size(baseEdit.Width, baseEdit.Height); eLayoutControlItem.Control = baseEdit; eLayoutControlItem.Visibility = sys_Bind.Bind_Visible ? DevExpress.XtraLayout.Utils.LayoutVisibility.Always : DevExpress.XtraLayout.Utils.LayoutVisibility.Never; baseLayoutItems.Add(eLayoutControlItem); } if (curLeft < eLayoutControlGroup.Width && curLeft > 0) { EmptySpaceItem emptySpaceItem = new EmptySpaceItem(); emptySpaceItem.AllowHotTrack = false; emptySpaceItem.Location = new System.Drawing.Point(curLeft, curTop); emptySpaceItem.Name = "oli_Space"; emptySpaceItem.Size = new System.Drawing.Size(eLayoutControlGroup.Width - curLeft, 24); baseLayoutItems.Add(emptySpaceItem); } eLayoutControlGroup.Items.AddRange(baseLayoutItems.ToArray()); eLayoutControl.EndUpdate(); } catch (Exception ex) { SharedFunc.RaiseError(ex); } }
private void InitializeLayout() { try { if (this.GetType() != typeof(ChildPage)) { return; } if (this.QueryControl != null) { return; } List <MyParameter> myParameter = new List <MyParameter>(); myParameter.Add("@Menu_Id", DbType.String, SysPage.Menu_Id, null); DataTable dt = BaseService.Open("SystemMenu_Layout", myParameter); List <Sys_Layout> sys_Layouts = EntityHelper.GetEntities <Sys_Layout>(dt); if (sys_Layouts.Count.Equals(0)) { return; } Control parentControl = this; foreach (Sys_Layout sys_Layout in sys_Layouts.OrderBy(s => s.Layout_Sort)) { Control contain = parentControl; if (!string.IsNullOrEmpty(sys_Layout.Layout_Parent)) { Control[] cks = parentControl.Controls.Find(sys_Layout.Layout_Parent, true); if (cks.Length > 0) { contain = cks[0]; } } switch (sys_Layout.Layout_Type) { case 0: //Query GroupControl qry = new GroupControl(); InitializeControl(qry, sys_Layout); contain.Controls.Add(qry); qry.BringToFront(); this.QueryControl = qry; break; case 12: //GroupControl GroupControl grp = new GroupControl(); InitializeControl(grp, sys_Layout); contain.Controls.Add(grp); grp.BringToFront(); break; case 13: SplitterControl OneSpli = new SplitterControl(); OneSpli.Dock = (DockStyle)sys_Layout.Layout_Dock; OneSpli.Name = sys_Layout.Layout_Name; contain.Controls.Add(OneSpli); OneSpli.BringToFront(); break; case 14: //PanelControl PanelControl panel = new PanelControl(); InitializeControl(panel, sys_Layout); contain.Controls.Add(panel); panel.BorderStyle = BorderStyles.NoBorder; panel.BringToFront(); break; case 1: //Grid case 6: //Submit case 7: //Tree 这三个都只有Grid 是在Grid上覆盖控件实现 Submit 和 Tree 效果 GridControl gd = new GridControl(); InitializeControl(gd, sys_Layout); GridView gv = (GridView)gd.CreateView("GridView"); gv.BorderStyle = BorderStyles.NoBorder; gv.Name = gd.Name.Replace("d", "v"); gv.OptionsView.ShowGroupPanel = false; gv.OptionsView.ShowFooter = true; gv.OptionsSelection.MultiSelect = true; gd.MainView = gv; contain.Controls.Add(gd); gd.BringToFront(); break; case 9: //TabPage 窗体验证时候devexpress原装的XtraTabControl 不支持验证需要自行继承扩展 TabEx ntabs = new TabEx(); InitializeControl(ntabs, sys_Layout); ntabs.BorderStyle = BorderStyles.NoBorder; ntabs.BorderStylePage = BorderStyles.NoBorder; contain.Controls.Add(ntabs); ntabs.BringToFront(); break; case 10: DevExpress.XtraTab.XtraTabPage tab = new DevExpress.XtraTab.XtraTabPage(); tab.Name = sys_Layout.Layout_Name; tab.Text = sys_Layout.Layout_Nick; if (contain.GetType() == typeof(TabEx)) { TabEx tabs = (TabEx)contain; tabs.TabPages.Add(tab); } break; case 11: Pagination pagination = new Pagination(); pagination.Name = sys_Layout.Layout_Name; pagination.Dock = (DockStyle)sys_Layout.Layout_Dock; contain.Controls.Add(pagination); pagination.BringToFront(); break; case 2: //Chart ChartControl chart = new ChartControl(); InitializeControl(chart, sys_Layout); chart.BorderOptions.Visibility = DevExpress.Utils.DefaultBoolean.False; contain.Controls.Add(chart); chart.BringToFront(); break; case 3: //text MemoEdit memoEdit = new MemoEdit(); InitializeControl(memoEdit, sys_Layout); memoEdit.BorderStyle = BorderStyles.NoBorder; contain.Controls.Add(memoEdit); memoEdit.BringToFront(); break; case 4: //RichText RichEditControl rtf = new RichEditControl(); InitializeControl(rtf, sys_Layout); rtf.BorderStyle = BorderStyles.NoBorder; rtf.ActiveViewType = RichEditViewType.Simple; contain.Controls.Add(rtf); rtf.BringToFront(); break; case 5: //image PictureEdit pictureEdit = new PictureEdit(); InitializeControl(pictureEdit, sys_Layout); pictureEdit.BorderStyle = BorderStyles.NoBorder; pictureEdit.Properties.PictureStoreMode = PictureStoreMode.ByteArray; pictureEdit.Properties.SizeMode = PictureSizeMode.Squeeze; contain.Controls.Add(pictureEdit); pictureEdit.BringToFront(); break; case 8: //BarCode BarCodeControl barCodeControl = new BarCodeControl(); InitializeControl(barCodeControl, sys_Layout); barCodeControl.BorderStyle = BorderStyles.NoBorder; barCodeControl.BackColor = Color.White; barCodeControl.AutoModule = true; barCodeControl.ShowText = false; //QRCodeGenerator DevExpress.XtraPrinting.BarCode.QRCodeGenerator qrCodeGenerator1 = new DevExpress.XtraPrinting.BarCode.QRCodeGenerator(); qrCodeGenerator1.CompactionMode = DevExpress.XtraPrinting.BarCode.QRCodeCompactionMode.Byte; qrCodeGenerator1.ErrorCorrectionLevel = DevExpress.XtraPrinting.BarCode.QRCodeErrorCorrectionLevel.H; qrCodeGenerator1.Version = DevExpress.XtraPrinting.BarCode.QRCodeVersion.Version1; //Code128Generator DevExpress.XtraPrinting.BarCode.Code128Generator code128Generator1 = new DevExpress.XtraPrinting.BarCode.Code128Generator(); //根据长宽比切换二维码 条码显示 if (barCodeControl.Width > barCodeControl.Height * 2) { barCodeControl.Symbology = code128Generator1; } else { barCodeControl.Symbology = qrCodeGenerator1; } contain.Controls.Add(barCodeControl); barCodeControl.BringToFront(); break; default: break; } } } catch (Exception ex) { SharedFunc.RaiseError(ex); } }