DevExpress控件使用说明
dev express sidebar 用法
![dev express sidebar 用法](https://img.taocdn.com/s3/m/b2f433ab6394dd88d0d233d4b14e852458fb3939.png)
dev express sidebar 用法DevExpress Sidebar 是一个功能强大的 UI 控件,可帮助开发者为他们的应用程序添加侧边栏。
通过使用 DevExpress 的侧边栏,开发者可以轻松地创建一个具有现代化外观和用户友好性的导航菜单。
使用 DevExpress Sidebar 非常简单。
以下是几个使用 DevExpress Sidebar 的基本步骤:1. 安装 DevExpress 控件包:首先,开发者需要从 DevExpress 官方网站下载并安装 DevExpress 控件包。
在安装过程中,确保选择安装 Sidebar 控件。
2. 创建侧边栏控件:在您的应用程序中,创建一个新的 DevExpress Sidebar 控件实例。
您可以使用代码创建控件,或者在设计器中拖放一个控件。
确保将控件放置在您希望它显示的区域。
3. 配置侧边栏项:使用 DevExpress Sidebar 的项集合属性,您可以添加并配置侧边栏的各个项。
每个项都可以设置其标题、图标和单击事件处理程序等属性。
通过添加适当的项,您可以为用户提供需要的导航选项。
4. 自定义外观:DevExpress Sidebar 提供了许多自定义选项,可让您根据应用程序的需求调整侧边栏的外观。
您可以更改背景颜色、字体样式和图标等。
此外,您还可以选择侧边栏的展开和折叠模式,以及它的位置。
5. 绑定数据:如果您需要根据动态数据来生成侧边栏项,DevExpress Sidebar 也提供了数据绑定功能。
通过将数据源与控件绑定,您可以自动填充侧边栏项,并确保它们随数据的变化而更新。
使用 DevExpress Sidebar 可以使您的应用程序更具现代感和易用性。
无论是用于桌面应用程序还是 Web 应用程序,DevExpress Sidebar 都是一个强大而灵活的工具,可以大大简化导航菜单的设计与实现过程。
记住按照上述步骤来使用它,并尽量根据用户需求进行适当的定制和配置。
DevExpress控件手册
![DevExpress控件手册](https://img.taocdn.com/s3/m/c625abc332d4b14e852458fb770bf78a65293aef.png)
DevExpress控件⼿册
https://www.敏感词/article/2018/7/17/28180.html
⼿册是全英⽂的,有chm和pdf两种格式,winform⼿册有两百来兆,内容的确是很详细了,每个控件还有⼊门的详细例⼦,建议下载CHM格式的,然后下载⼀个⽹易有道词典,⿏标选中就可以随时查看翻译。
最重要的是⾥⾯的英⽂不算很难,结合上下⽂的图⽚能知道个⼤概。
完全中⽂的⽂档⼤概是没有的,因为没⼈⼲这累活,仅winform⽂档就⼏百兆,不过有个简易版的中⽂⽂档
基本上其实没什么⽤,不过可以知道它的⼤概属性。
DevExpress软件安装后,有很多例⼦的源代码也⼀起安装了,路径⼀般⼤概在
C:\Users\Public\Documents\DevExpress Demos 18.1\Components\WinForms\CS
除了C#还有VB代码。
DevExpress控件使用手册
![DevExpress控件使用手册](https://img.taocdn.com/s3/m/3d36981da31614791711cc7931b765ce05087a46.png)
DevExpress控件使⽤⼿册GridView1、控制Cell中数据显⽰对齐属性Column.AppearanceCell.TextOptions:HAlignment:⽔平对齐VAlignment:垂直对齐2、控制Cell中数据折叠显⽰属性Column.AppearanceCell.TextOptions.WordWrap3、控制奇数和偶数⾏显⽰颜⾊属性Gridview.OptionViewEnableAppearanceEvenRowEnableAppearanceOddRow4、显⽰过滤框OptionView.ShowAutoFilterRow = True5、获取选中的数据int[] iRows = myGridView.GetSelectedRows();for (int i = 0; i < iRows.Length; i++){DataRow dr = (DataRow) myGridView.GetDataRow(iRows[i]);}6、定位指定的记录1)按单元格的值定位记录myGridView.LocateByValue(0, dt.Columns["FieldName"], Object(value));2)按单元格的显⽰值定位记录(在GridView上编辑数据后,显⽰值(DispalyText)不同于实际值(Value))myGridView.LocateByDisplayText(0,dt.Columns["FieldName"],value);7、禁⽤主细表模式显⽰数据(当你绑定的对象内含集合类成员变量时,默认以主细表模式显⽰在GridView中)myGridView.OptionsView.ShowChildrenInGroupPanel =false;myGridView.OptionsDetail.EnableMasterViewMode = false;SplitContainerControl1.切换Panel的Dock为Fill属性FixedPanelCheckTreeList1.选中节点以不同颜⾊标⽰Appearance.FocusedCelLookUpEdit1.实现主细表显⽰和编辑主表:tblMain,绑定到MyGridControl上细表:tblDetail,绑定到MyLookUpEdit上假设:两个表的数据已经获取,下⾯重点关注如何进⾏数据绑定BindingSourse bsMain= new BindingSource();bsMain.DataSource = tblMain;MyGridControl.DataSource = myBind;MyLookUpEdit.Properties.DataSource = tblDetail;//将MyLookUpEdit绑定到tblMain,以⽀持数据显⽰MyLookUpEdit.DataBindings.Add("EditValue", bsMain, tblMain.EditColumn.ColumnName);//EditColumnColumn为要显⽰的主表的某⼀列,它对应与细表的ValueColumn//将MyLookUpEdit绑定到tblDetail,以⽀持数据编辑MyLookUpEdit.Properties.DisplayMember= tblDetail.DisplayColumn.ColumnaName;//**DisplayColumn为要显⽰的细表的某⼀列MyLookUpEdit.Properties.ValueMember= tblDetail.ValueColumn.ColumnaName;//**ValueColumn为与主表EditColumn对应的细表的某⼀列TextEdit1、控制只能录⼊数值myTextEdit.Properties.Mask.MaskType= Numeric;2、控制只能录⼊整数myTextEdit.Properties.Mask.MaskType= Numeric;myTextEdit.Properties.Mask.EditMast= d;。
devexpress 控件用法
![devexpress 控件用法](https://img.taocdn.com/s3/m/e9d4578edb38376baf1ffc4ffe4733687e21fca6.png)
devexpress 控件用法DevExpress是一个强大的控件库,专为.NET开发人员设计。
它提供了一系列易于使用且功能丰富的控件,可以帮助开发人员更快速地构建各种类型的应用程序,从基本的桌面应用程序到复杂的企业级解决方案。
在本文中,我们将以中括号为主题,一步一步地介绍DevExpress控件的用法。
第一步:准备工作在开始使用DevExpress控件之前,需要进行一些准备工作。
首先,您需要在开发计算机上安装DevExpress控件库。
您可以从DevExpress官方网站下载并安装控件库的最新版本。
安装完成后,您需要在.NET项目中添加对DevExpress控件库的引用。
第二步:控件的基本用法DevExpress控件库提供了多个控件类别,包括界面控件、数据控件、布局控件等。
每个类别都包含多个具体的控件类型。
在使用控件之前,您需要根据项目需求选择合适的控件类型。
界面控件是DevExpress控件库中最常用的控件之一。
它们用于构建应用程序的用户界面。
常用的界面控件包括按钮、文本框、标签、下拉框等。
要使用界面控件,您需要在设计窗体或用户控件时将其拖放到设计器中,并设置其属性和事件处理程序。
数据控件用于显示和操作数据。
它们可以从数据库、文件或其他数据源中检索数据,并将其显示在界面上。
常用的数据控件包括表格控件、列表控件和树控件等。
使用数据控件时,您可以通过绑定数据源和设置数据过滤条件来配置它们。
布局控件用于组织界面上的其他控件。
它们提供了一种简便的方法来排列和调整控件的位置和大小。
常用的布局控件包括面板、分组框和标签页等。
使用布局控件时,您可以将其他控件放置在布局控件的容器中,并调整它们的布局样式。
第三步:控件的高级用法在掌握了DevExpress控件的基本用法后,您可以开始使用它们的高级功能。
DevExpress控件提供了许多高级功能,可以提高应用程序的性能和用户体验。
一个常见的高级用法是自定义控件的外观和样式。
DevExpress的10个使用技巧
![DevExpress的10个使用技巧](https://img.taocdn.com/s3/m/a94c934aa8956bec0975e3bb.png)
DevExpress 的 10 个使用技巧DevExpress 是非常主流的.NET 控件,目前全世界和中国都用很多用户使用,不过由 于是英文版,初次接触的同学可能会觉得困难,这里就总结 DevExpress 常见的 10 个使 用技巧。
1.TextEditor(barEditItem)取文本以下是代码片段: string editValue = barEditItem1.EditValue.ToString(); //错误, 返回 null string editValue = ((DevExpress.XtraEditors.TextEdit)barEditItem).EditValue.ToString(); //精确,返回文本框内容 DevExpress 使用技巧boBoxEdit(barEditItem)添加以下是代码片段: Item string item = "comboboxItem1"; ((DevExpress.XtraEditors.Repository.RepositoryItemComboBox)this.barEd itItem.Edit).Items.Add(item);boBoxEdit(barEditItem)取文本以下是代码片段: string itemValue = this.barEditItem.EditValue.ToString();4.Ribbon 控件以下是代码片段: //添加 Page DevExpress.XtraBars.Ribbon.RibbonPage ribbonPage = new RibbonPage(); ribbonControl.Pages.Add(ribbonPage); //添加 Group DevExpress.XtraBars.Ribbon.RibbonPageGroup ribbonPageGroup = new RibbonPageGroup(); ribbonPage.Groups.Add(ribbonPageGroup); //添加 Button DevExpress.XtraBars.BarButtonItem barButtonItem = new BarButtonItem(); ribbonPageGroup.ItemLinks.Add(barButtonItem); // 添加 barSubItem DevExpress.XtraBars.BarSubItem barSubItem = new BarSubItem(); ribbonPageGroup.ItemLinks.Add(barSubItem); //barSubItem 下添加 Button barSubItem.AddItem(barButtonItem); //奇 异的删除 Page 问题( DevExpress 使用技巧) while (this.ribbonControl.Pages.Count > 0) { ribbonControl.Pages.Remove(ribbonControl.Pages[0]); //调试正常, 运转报异常 } while (this.ribbonControl.Pages.Count > 0) { ribbonControl.SelectedPage = ribbonControl.Pages[0]; ribbonControl.Pages.Remove(ribbonControl.SelectedPage); //运转正 常 } //遏止 F10 键 Tips (DevExpress 使用技巧)eF10KeyForMenu = false; //DX 按钮 ApplicationIcon 属性改动图标右键 Add ApplicationMenu 添加 evExpress.XtraBars.Ribbon.ApplicationMenu5.HitInfo以下是代码片段: //在 Tab 页上点击右键的工作响应(DevExpress 使用技巧) void xtraTabbedMdiManager_Event(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Right && ActiveMdiChild != null) { DevExpress.XtraTab.ViewInfo.BaseTabHitInfo hInfo = xtraTabbedMdiManager.CalcHitInfo(e.Location); //右键点击位置:在 Page 上且不在封闭按钮内 if (hInfo.IsValid && hInfo.Page != null && !hInfo.InPageCloseButton) { this.popupMenu.ShowPopup(Control.MousePosition);//在鼠标位置弹 出,而不是 e.Location } } } //在 ribbon 上点击右键的工作响应 private void ribbonControl1_ShowCustomizationMenu(object sender, RibbonCustomizationMenuEventArgs e) { //禁掉原系统右键菜单 e.ShowCustomizationMenu = false; //右键位置:在 barButtonItem 上 if (e.HitInfo != null && e.HitInfo.InItem && e.HitInfo.Item.Item is BarButtonItem) { this.popupMenu.ShowPopup(Control.MousePosition); } //右键位置: barSubItem 中的 barButtonItem 上 else if (e.Link != null 在 && e.Link.Item != null && e.Link.Item is BarButtonItem) { this.popupMenu.ShowPopup(Control.MousePosition); } }6.皮肤以下是代码片段: //添加皮肤轨范集后注册皮肤( DevExpress 使用技巧) erSkins.OfficeSkins.Register(); erSkins.BonusSkins.Register(); //设置皮肤 erLookAndFeel.Default.SetSkinStyle("Liquid Sky"); //若皮肤称号错误则按系统默许设置(第一个皮肤) //GalleryFilterMenuPopup 工作设置弹出选择菜单的“All Groups”为中文 private void rgbiSkins_GalleryFilterMenuPopup(object sender, GalleryFilterMenuEventArgs e) { e.FilterMenu.ItemLinks[n].Caption = " 一切皮肤"; //n=分组数+1 } //GalleryInitDropDownGallery 工作设置弹出 皮肤列表的表头“ALL Groups”为中文 private void rgbiSkins_GalleryInitDropDownGallery(object sender, InplaceGalleryEventArgs e) { e.PopupGallery.FilterCaption = "一切皮 肤"; }7.dockManager 将视图的状况信息保管到 xml 文件 dockManager1.SaveLayoutToXml("..\\UserConfig\\ViewInfo.xml"); 导出 xml 中保管的状况信息 dockManager1.RestoreLayoutFromXml("..\\UserConfig\\ViewInfo.xml"); 8.barManager 设置 bar 的字体与系统字体 barAndDockingController1.AppearancesBar.ItemsFont = new Font(this.Font.FontFamily, currentFontSize); 9.设置系统字体以下是代码片段: DevExpress.Utils.AppearanceObject.DefaultFont = new Font(this.Font.FontFamily, currentFontSize);10.treeView 为 tree 节点加右键菜单并选中该节点以下是代码片段: private void treeList1_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Right) { DevExpress.XtraTreeList.TreeListHitInfo hi = treeList1.CalcHitInfo(e.Location); if (hi.Node != null && hi.Node.ImageIndex == 5) //叶子节点的 ImageIndex == 5 { TreeListNode node = treeList1.FindNodeByID(hi.Node.Id); treeList1.FocusedNode = node; this.popupMenu1.ShowPopup(MousePosition); } } }优秀的菜单控件 DevExpress Bar 使用初探前一阵子在做项目时,用到了 Develper Experss Inc. 的 DevExpress Bar 控件,感觉它真 是一个好东西,可以完全取代 Delphi 现有的 Menu 控件和 ToolBar 控件,其功能也是第三方 控件中的佼佼者。
DevExpress控件使用说明
![DevExpress控件使用说明](https://img.taocdn.com/s3/m/d60f5d0cff00bed5b9f31def.png)
EF.DLL 的介绍 1.EF.dll 中的 Form
结构如下:
如上图所示--常用的是 EFForm 1) 继承 :父类有的,子类都会继承 ( 如 EFFormMain 中的东西,到了 EFForm 中,原来使用 EFFormMain 的对象调用的,现在使用 EFForm 的对象都可以调用, EFFormMasterDetail 类 似) 2)简单点如下: 可认为 EFFormMain 是基类,空的,看上去什么都没有, EFForm 为它添加了下方的 F1--F12 按钮栏,可以通过授权控制按钮是否显示. EFFormMasterDetail 是在 EFForm 上添加了一个 Panel 和一个 TabControl 控件 EFFormListDetail 是添加了一个 LayoutControl 并定义了上中下(查询条件,列表,详细)的格 局 EFFormMasterDetail2 是继承自 EFFormMasterDetail 的一个未完成的画面 .定义了工具栏上按 钮的操作对应的默认实现 EFFormListDetail2 是继承自 EFFormListDetail 的一个未完成的画面 . 定义了工具栏上按钮 的操作对应的默认实现 一般情况下窗体都直接继承自 EFForm
属性:
2.4 EFDevSpinEdit 数值输入控件
数值输入框.如下.由一个 EFDevTextEdit 和一个上下翻动的按钮组成,用户可点击按钮调整 值.
简单说明: 1.只能输入数值型(整数或者小数,包含负数) 2.可控制可输入的最大值和最小值(MaxValue,MinValue) 3.控制最大长度(MaxLength) 4.控制是否可输入小数(IsFloatValue) 5.可控制点击按钮式,增加或减少的值大小(Increment 属性) 主要属性如下图所示:
DevExpress使用技巧
![DevExpress使用技巧](https://img.taocdn.com/s3/m/b29ca197af45b307e97197ae.png)
DevExpress使用技巧一、DevExpress控件使用使用技巧小结零零散散的先总结一下吧1.TextEditor(barEditItem)取文本string editValue = barEditItem1.EditValue.ToString(); //错误,返回nullstring editValue =((DevExpress.XtraEditors.TextEdit)barEditItem).EditValue.ToString(); //正确,返回文本框内容boBoxEdit(barEditItem)添加Itemstring item = "comboboxItem1";((DevExpress.XtraEditors.Repository.RepositoryItemComboBox)this.barE ditItem.Edit).Items.Add(item);boBoxEdit(barEditItem)取文本string itemValue = this.barEditItem.EditValue.ToString();4.Ribbon控件//添加PageDevExpress.XtraBars.Ribbon.RibbonPage ribbonPage = new RibbonPage();ribbonControl.Pages.Add(ribbonPage); //添加GroupDevExpress.XtraBars.Ribbon.RibbonPageGroup ribbonPageGroup = new RibbonPageGroup();ribbonPage.Groups.Add(ribbonPageGroup); //添加ButtonDevExpress.XtraBars.BarButtonItem barButtonItem = newBarButtonItem();ribbonPageGroup.ItemLinks.Add(barButtonItem); //添加barSubItemDevExpress.XtraBars.BarSubItem barSubItem = new BarSubItem();ribbonPageGroup.ItemLinks.Add(barSubItem); //barSubItem下添加Button barSubItem.AddItem(barButtonItem);4.奇怪的删除Page问题while (this.ribbonControl.Pages.Count > 0) {ribbonControl.Pages.Remove(ribbonControl.Pages[0]); //调试正常,运行报异常}while (this.ribbonControl.Pages.Count > 0) {ribbonControl.SelectedPage = ribbonControl.Pages[0];ribbonControl.Pages.Remove(ribbonControl.SelectedPage); //运行正常}5.RIBBON问题汇集//禁止F10键TipseF10KeyForMenu = false; //DX按钮ApplicationIcon属性改变图标右键 Add ApplicationMenu 添加evExpress.XtraBars.Ribbon.ApplicationMenu5.HitInfo //在Tab页上点击右键的事件响应void xtraTabbedMdiManager_Event(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Right & ActiveMdiChild != null){DevExpress.XtraTab.ViewInfo.BaseTabHitInfo hInfo = xtraTabbedMdiManager.CalcHitInfo(e.Location);//右键点击位置:在Page上且不在关闭按钮内if (hInfo.IsValid & hInfo.Page != null && !hInfo.InPageCloseButton) {this.popupMenu.ShowPopup(Control.MousePosition);//在鼠标位置弹出,而不是e.Location}}}//在ribbon上点击右键的事件响应private void ribbonControl1_ShowCustomizationMenu(object sender, RibbonCustomizationMenuEventArgs e){//禁掉原系统右键菜单e.ShowCustomizationMenu = false;//右键位置:在barButtonItem上if (e.HitInfo != null& e.HitInfo.InItem& e.HitInfo.Item.Item is BarButtonItem){this.popupMenu.ShowPopup(Control.MousePosition);}//右键位置:在barSubItem中的barButtonItem上else if (e.Link != null& e.Link.Item != null& e.Link.Item is BarButtonItem){this.popupMenu.ShowPopup(Control.MousePosition);}}6.皮肤//添加皮肤程序集后注册皮肤erSkins.OfficeSkins.Register();erSkins.BonusSkins.Register();//设置皮肤erLookAndFeel.Default.SetSkinStyle("Liquid Sky"); //若皮肤名称错误则按系统默认设置(第一个皮肤)//GalleryFilterMenuPopup事件设置弹出筛选菜单的“All Groups”为中文private void rgbiSkins_GalleryFilterMenuPopup(object sender, GalleryFilterMenuEventArgs e){e.FilterMenu.ItemLinks[n].Caption = "所有皮肤"; //n=分组数+1}//GalleryInitDropDownGallery事件设置弹出皮肤列表的表头“ALL Groups”为中文private void rgbiSkins_GalleryInitDropDownGallery(object sender, InplaceGalleryEventArgs e){e.PopupGallery.FilterCaption = "所有皮肤";}7.dockManager将视图的状态信息保存到xml文件dockManager1.SaveLayoutToXml("..\\UserConfig\\ViewInfo.xml"); 导出xml中保存的状态信息dockManager1.RestoreLayoutFromXml("..\\UserConfig\\ViewInfo.xml");8. barManager 设置bar的字体与系统字体barAndDockingController1.AppearancesBar.ItemsFont = newFont(this.Font.FontFamily, currentFontSize);9.设置系统字体DevExpress.Utils.AppearanceObject.DefaultFont = newFont(this.Font.FontFamily, currentFontSize);10.treeView 为tree节点加右键菜单并选中该节点private void treeList1_MouseDown(object sender, MouseEventArgs e) {if (e.Button == MouseButtons.Right){DevExpress.XtraTreeList.TreeListHitInfo hi =treeList1.CalcHitInfo(e.Location);if (hi.Node != null & hi.Node.ImageIndex == 5) //叶子节点的ImageIndex == 5{TreeListNode node = treeList1.FindNodeByID(hi.Node.Id);treeList1.FocusedNode = node;this.popupMenu1.ShowPopup(MousePosition);}}}二、DevExpress部分使用技巧(原创) 作者 : 轻舞肥羊标题 : DevExpress部分使用技巧(原创)关键字: DevExpress,cxGrid分类 : 开发技巧密级 : 公开(评分:???? , 回复: 7, 阅读: 8588) »»本文由轻舞肥羊发表于大富翁论坛转载请标明出处,谢谢声明:以下代码请看懂再使用,本人水平有限,发现bug希望提出,让我们共同改进2004-1-10 17:06:00查看评语»»»1.扩展cxLookupComboBox,使其支持多列查询的cxLookupComboBoxEx日期:2004-1-10 17:08:06//================================================================== ============// Unit Name: cxLookupComboBoxEx // Author : ysai// Date : 2003// Purpose : 扩展cxLookupComboBox,cxDBLookupComboBox,使其支持多列过滤 // History :// 2003-05-28大数据量改进// 2003-07-07可操作性改进// 2003-08-20效率改进// 2003-08-29加入过滤延时// 注意:// 限制1,不能再使用Properties.OnChange事件// 限制2,不能再使用Properties.ListSource.DataSet.OnFilterRecord事件// 限制3,不能再使用Properties.ListSource.DataSet.Filtered属性 // 其它,最好在设计期设好一切属性,运行期再设置属性可能引发求知错误//===================================================================== =========unit cxLookupComboBoxEx;interfaceusesSysUtils, Classes, Controls, Windows, Messages,DB,StrUtils,cxControls, cxContainer, cxEdit, cxTextEdit,cxMaskEdit, cxDropDownEdit, cxLookupEdit, cxDBLookupEdit,cxDBLookupComboBox;typeTcxLookupComboBoxEx = class(TcxLookupComboBox)private//保存要过滤的字段列表FFieldList : TList;FFindText : String;//过滤事件procedure _OnFilterRecord(DataSet: TDataSet; var Accept: Boolean); //编辑框文字改变事件procedure _OnChange(Sender : TObject);procedure GetFieldList;//延时过滤消息procedure WMTimer (var Message: TMessage); message WM_TIMER; protected//下拉表格收回时procedure CloseUp(AAccept: Boolean); override;//过滤过程procedure _FilterListSource;//初始化下拉表格事件procedure DoInitPopup; override;publicconstructor Create(AOwner : TComponent); override;destructor Destroy; override;//更新要过滤的字段列表procedure UpdateFilterFields;publishedend;TcxDBLookupComboBoxEx = class(TcxDBLookupComboBox)private//保存要过滤的字段列表FFieldList : TList;FFindText : String;//过滤事件procedure _OnFilterRecord(DataSet: TDataSet; var Accept: Boolean); //编辑框文字改变事件procedure _OnChange(Sender : TObject);//取得要过滤的字段列表procedure GetFieldList;//延时过滤消息procedure WMTimer (var Message: TMessage); message WM_TIMER; protected//下拉表格收回时procedure CloseUp(AAccept: Boolean); override;//过滤过程procedure _FilterListSource;//初始化下拉表格事件procedure DoInitPopup; override;publicconstructor Create(AOwner : TComponent); override;destructor Destroy; override;//更新要过滤的字段列表procedure UpdateFilterFields;publishedend;procedure Register;implementationconstUM_TIMER_FILTER = WM_USER + $101; //自定义延时消息IDFILTERTIMER = 500; //延时时间DROPDOWN_ROWS = 12;procedure Register;beginRegisterComponents('Dev Express', [TcxLookupComboBoxEx,TcxDBLookupComboBoxEx]);end;{ TcxLookupComboBoxEx }procedure TcxLookupComboBoxEx.CloseUp(AAccept: Boolean);begininherited;//收起下拉后取消过滤if Assigned(Properties.ListSource) thenif Assigned(Properties.ListSource.DataSet) thenProperties.ListSource.DataSet.Filtered := False; end;constructor TcxLookupComboBoxEx.Create(AOwner: TComponent); begin inherited;//默认值Properties.AutoSelect := False;Properties.DropDownAutoSize := True;Properties.DropDownListStyle := lsEditList;Properties.DropDownRows := DROPDOWN_ROWS;Properties.DropDownSizeable := True;Properties.IncrementalFiltering := False;Properties.Revertable := True;Properties.OnChange := _OnChange;eLeftAlignmentOnEditing := False; end;destructor TcxLookupComboBoxEx.Destroy;begin//释放过滤字段列表if Assigned(FFieldList) then FFieldList.Free;inherited;end;procedure TcxLookupComboBoxEx.DoInitPopup; begin//取得过滤字段if Assigned(Properties.ListSource) thenif Assigned(Properties.ListSource.DataSet) thenbeginGetFieldList;Properties.ListSource.DataSet.Filtered := False;end;inherited DoInitPopup;end;procedure TcxLookupComboBoxEx._FilterListSource; //过滤字段beginif Assigned(Properties.ListSource)and Assigned(Properties.ListSource.DataSet) thentryProperties.ListSource.DataSet.DisableControls;Properties.ListSource.DataSet.Filtered := False;Properties.ListSource.DataSet.OnFilterRecord := _OnFilterRecord; if Text <> '' thenbeginFFindText := Text;if SelLength > 0 thenFFindText := LeftStr(Text,SelStart);Properties.ListSource.DataSet.Filtered := FFindText <> '';end;Changed;finallyProperties.ListSource.DataSet.EnableControls;end;end;procedure TcxLookupComboBoxEx.GetFieldList; //取得过滤字段列表vari : Integer;sFieldName : String;fdTemp : TField;beginif not Assigned(FFieldList) thenbeginFFieldList := TList.Create;for i:=0 to Properties.ListColumns.Count -1 dobeginsFieldName := Properties.ListColumns.Items[i].FieldName;if sFieldName = '' then Continue;fdTemp := Properties.ListSource.DataSet.FindField(sFieldName);if Assigned(fdTemp) thenFFieldList.Add(Pointer(fdTemp));end;end;end;procedure TcxLookupComboBoxEx._OnChange(Sender: TObject); //设置延时beginif Focused and DroppedDown thenbeginKillTimer(Handle,UM_TIMER_FILTER);SetTimer(Handle,UM_TIMER_FILTER,FILTERTIMER,nil);end;end;procedure TcxLookupComboBoxEx._OnFilterRecord(DataSet: TDataSet; var Accept: Boolean);//过滤事件vars : String;i : Integer;begins := LowerCase(FFindText);if (s <> '') and (Properties.ListColumns.Count > 0) thenbeginAccept := False;for i := 0 to FFieldList.Count -1 dobeginAccept := Pos(s,LowerCase(TField(FFieldList[i]).AsString))>0;if Accept then Exit;end;endelseAccept := True;end;procedure TcxLookupComboBoxEx.WMTimer(var Message: TMessage);//延时更新消息beginKillTimer(Handle,UM_TIMER_FILTER);if Focused and DroppedDown then _FilterListSource; end;procedure TcxLookupComboBoxEx.UpdateFilterFields; //更新要过滤的字段列表beginif Assigned(FFieldList) thenbeginFFieldList.Free;FFieldList := nil;end;GetFieldList;end;{ TcxDBLookupComboBoxEx }procedure TcxDBLookupComboBoxEx.CloseUp(AAccept: Boolean); begin inherited;//收起下拉后取消过滤if Assigned(Properties.ListSource) thenif Assigned(Properties.ListSource.DataSet) thenProperties.ListSource.DataSet.Filtered := False; end;constructor TcxDBLookupComboBoxEx.Create(AOwner: TComponent); begininherited;//默认值Properties.AutoSelect := False;Properties.DropDownListStyle := lsEditList; Properties.DropDownRows := DROPDOWN_ROWS; Properties.DropDownSizeable := True;Properties.IncrementalFiltering := False; Properties.Revertable := True;Properties.OnChange := _OnChange;eLeftAlignmentOnEditing := False; end; destructor TcxDBLookupComboBoxEx.Destroy;begin//释放过滤字段列表if Assigned(FFieldList) then FFieldList.Free; inherited;end;procedure TcxDBLookupComboBoxEx.DoInitPopup; begin //取得过滤字段if Assigned(Properties.ListSource) thenif Assigned(Properties.ListSource.DataSet) then beginGetFieldList;Properties.ListSource.DataSet.Filtered := False; end;inherited DoInitPopup;end;procedure TcxDBLookupComboBoxEx._FilterListSource; //过滤字段beginif Assigned(Properties.ListSource)and Assigned(Properties.ListSource.DataSet) thentryProperties.ListSource.DataSet.DisableControls;Properties.ListSource.DataSet.Filtered := False;Properties.ListSource.DataSet.OnFilterRecord := _OnFilterRecord; if Text <> '' thenbeginFFindText := Text;if SelLength > 0 thenFFindText := LeftStr(Text,SelStart);Properties.ListSource.DataSet.Filtered := FFindText <> '';end;Changed;finallyProperties.ListSource.DataSet.EnableControls;end;end;procedure TcxDBLookupComboBoxEx.GetFieldList; //取得过滤字段列表vari : Integer;sFieldName : String;fdTemp : TField;beginif not Assigned(FFieldList) thenbeginFFieldList := TList.Create;for i:=0 to Properties.ListColumns.Count -1 dobeginsFieldName := Properties.ListColumns.Items[i].FieldName;if sFieldName = '' then Continue;fdTemp := Properties.ListSource.DataSet.FindField(sFieldName);if Assigned(fdTemp) thenFFieldList.Add(Pointer(fdTemp));end;end;end;procedure TcxDBLookupComboBoxEx._OnChange(Sender: TObject); //设置延时beginif Focused and DroppedDown thenbeginKillTimer(Handle,UM_TIMER_FILTER);SetTimer(Handle,UM_TIMER_FILTER,FILTERTIMER,nil);end;end;procedure TcxDBLookupComboBoxEx._OnFilterRecord(DataSet: TDataSet; var Accept: Boolean);//过滤事件vars : String;i : Integer;begins := LowerCase(FFindText);if (s <> '') and (Properties.ListColumns.Count > 0) thenbeginAccept := False;for i := 0 to FFieldList.Count -1 dobeginAccept := Pos(s,LowerCase(TField(FFieldList[i]).AsString))>0;if Accept then Exit;end;endelseAccept := True;end;procedure TcxDBLookupComboBoxEx.WMTimer(var Message: TMessage);//延时更新消息beginKillTimer(Handle,UM_TIMER_FILTER);if Focused and DroppedDown then _FilterListSource; end;procedure TcxDBLookupComboBoxEx.UpdateFilterFields; //更新要过滤的字段列表beginif Assigned(FFieldList) thenbeginFFieldList.Free;FFieldList := nil;end;GetFieldList;end;end.2.动态生成TcxGridDBTableView的列及页脚的合计栏日期: 2004-1-10 17:14:06vari : Integer;cl : TcxGridDBColumn;beginScreen.Cursor := crHourGlass;cxtvMaster.BeginUpdate;trycxtvMaster.ClearItems;cxtvMaster.DataController.Summary.FooterSummaryItems.Clear;for i := 0 to cxtvMaster.DataController.DataSet.FieldCount - 1 do begincl := cxtvMaster.CreateColumn;cl.DataBinding.FieldName :=cxtvMaster.DataController.DataSet.Fields[i].FieldName;if cxtvMaster.DataController.DataSet.Fields[i] is TNumericField then beginTNumericField(cxtvMaster.DataController.DataSet.Fields[i]).DisplayFormat := '#,##0.00';cl.Width := 80;with TcxGridDBTableSummaryItem(cxtvMaster.DataController.Summary.FooterSummaryItems.Add) dobeginColumn := cl;FieldName := cl.DataBinding.FieldName;Format := '#,##0.00';Kind := skSum;end;endelse if cxtvMaster.DataController.DataSet.Fields[i] is TStringField thencl.Width := 100elsecl.Width := 80;cl.HeaderAlignmentHorz := taCenter;end; //iffinallycxtvMaster.EndUpdate;Screen.Cursor := crDefault;end;end;3.动态生成TcxGridDBBandedTableView的列及页脚的合计栏日期: 2004-1-10 17:24:32如果存储过程或SQL返回如下结果集员工 1月$ 1月, 2月$ 2月, 合计$ 合计,------------------------------------------- 测试员A 200 1658 300 2487 500 4145将生成如下样式的Grid(页脚没有画出,麻烦,另外设置了显示格式,金额将以#,##0.00的方式显示)_________________________________________________ | 员工 | 1月 | 2月 | 合计 ||-----------------------------------------------| | 员工 | , | , | , | , | , | , ||-----------------------------------------------| |测试员A | 200 | 1658 | 300 | 2487 | 500 | 4145 | -------------------------------------------------vari : Integer;cl : TcxGridDBBandedColumn;beginScreen.Cursor := crHourGlass;cxbtvMaster.BeginUpdate;trycxbtvMaster.ClearItems;cxbtvMaster.Bands.Clear;cxbtvMaster.DataController.Summary.FooterSummaryItems.Clear;for i := 0 to cxbtvMaster.DataController.DataSet.FieldCount - 1 do beginif i = 0 thenwith cxbtvMaster.Bands.Add dobeginOptions.HoldOwnColumnsOnly := True;Caption := cxbtvMaster.DataController.DataSet.Fields[i].FieldName; end;if RightStr(cxbtvMaster.DataController.DataSet.Fields[i].FieldName,1) = '$' thenwith cxbtvMaster.Bands.Add dobeginOptions.HoldOwnColumnsOnly := True;Caption := Copy(cxbtvMaster.DataController.DataSet.Fields[i].FieldName, 1,Length(cxbtvMaster.DataController.DataSet.Fields[i].FieldName) - 1);cxbtvMaster.DataController.DataSet.Fields[i].DisplayLabel := ',';end;if RightStr(cxbtvMaster.DataController.DataSet.Fields[i].FieldName,1) = ',' thencxbtvMaster.DataController.DataSet.Fields[i].DisplayLabel := ',';cl := cxbtvMaster.CreateColumn;cl.HeaderAlignmentHorz := taCenter;cl.Position.BandIndex := cxbtvMaster.Bands.Count - 1;cl.DataBinding.FieldName :=cxbtvMaster.DataController.DataSet.Fields[i].FieldName;if cxbtvMaster.DataController.DataSet.Fields[i] is TNumericField thenbeginTNumericField(cxbtvMaster.DataController.DataSet.Fields[i]).DisplayFormat := '#,##0.00';cl.Width := 80;with TcxGridDBBandedTableSummaryItem(cxbtvMaster.DataController.Summary.FooterSummaryItems.Add) dobeginColumn := cl;FieldName := cl.DataBinding.FieldName;Format := '#,##0.00';Kind := skSum;end;endelse if cxbtvMaster.DataController.DataSet.Fields[i] is TStringField thencl.Width := 100elsecl.Width := 80;end; //iffinallycxbtvMaster.EndUpdate;Screen.Cursor := crDefault;end;end;4.自动调整列宽的方法要注意的地方2004-1-31 22:36:25可以用ApplyBestFit实现自动列宽;不能在BeginUpdate和EndUpdate之间调用这个方法,否则会产生下标越界错误; 在BeginUpdate和EndUpdate中清除/建立列不会产生屏幕闪烁,其它需要长时间更新cxGrid数据的操作最好放在BeginUpdate和EndUpdate执行,并用try包起来.5.DevExpress Bar的动态菜单2004-2-8 15:32:30没有什么说明,细心点应该知道表结构及数据的内容形式对比了一下代码,用dxBar比用ToolBar+PopupMenu生成动态菜单要简单,只用了一个递归过程type//菜单项PMenuItemInfo = ^TMenuItemInfo;TMenuItemInfo = recordID : string;ParentID : string;Caption : string;Hint : string;LibraryName : string;ProcedureName : string;wParam : Integer;lParam : Integer;end;procedure TmgMainForm.BuildMenu; //生成菜单procedure SetMenuItemInfo(const ADataSet : TDataSet;const AItem : PMenuItemInfo);beginAItem.ID := ADataSet.FieldByName('ID').AsString;AItem.ParentID := ADataSet.FieldByName('ParentID').AsString;AItem.Caption := ADataSet.FieldByName('Caption').AsString;AItem.Hint := ADataSet.FieldByName('Hint').AsString;AItem.LibraryName := ADataSet.FieldByName('LibraryName').AsString;AItem.ProcedureName :=ADataSet.FieldByName('ProcedureName').AsString;AItem.wParam := ADataSet.FieldByName('wParam').AsInteger;AItem.lParam := ADataSet.FieldByName('lParam').AsInteger;end;procedure CreateItemList(const ADataSet : TDataSet;const AList : TList;const AText : string);//根据父节点建立子项目列表varm : PMenuItemInfo;i : Integer;beginADataSet.First;for i := 0 to ADataSet.RecordCount - 1 dobeginif ADataSet.FieldByName('ParentID').AsString = AText thenbeginNew(m);SetMenuItemInfo(ADataSet,m); AList.Add(m);ADataSet.Delete;end elseADataSet.Next;end; //forend;procedure CreateMenuItems(const ADataSet : TDataSet;const AKeyValue : string;const AItemLinks : TdxBarItemLinks; const AIndex : Integer);//建立菜单项vardb : TdxBarButton;dbs : TdxBarSubItem;l : TList;i : Integer;j : Integer;bg : Boolean;beginbg := False;j := AIndex;l := TList.Create;tryCreateItemList(ADataSet, l, AKeyValue);for i := 0 to l.Count - 1 dobeginif ADataSet.Locate('ParentID', PMenuItemInfo(l[i]).ID, []) then begin//有子项dbs := TdxBarSubItem.Create(dxBar);dbs.Caption := PMenuItemInfo(l[i]).Caption;dbs.Hint := PMenuItemInfo(l[i]).Hint;dbs.Tag := Integer(l[i]);if AIndex > 0 thendbs.ImageIndex := 0;with AItemLinks.Add dobeginItem := dbs;Index := j;BeginGroup := bg;end; //withbg := False;CreateMenuItems(ADataSet, PMenuItemInfo(l[i]).ID, dbs.ItemLinks, 0); if dbs.ItemLinks.Count = 0 thendbs.FreeelseInc(j);endelse begin//无子项if not (PMenuItemInfo(l[i]).Caption = '-') then begindb := TdxBarButton.Create(dxBar);db.Caption := PMenuItemInfo(l[i]).Caption;db.Hint := PMenuItemInfo(l[i]).Hint;db.Tag := Integer(l[i]);db.OnClick := MenuItemClick;if AIndex > 0 thendb.ImageIndex := 0;with AItemLinks.Add dobeginItem := db;Index := j;BeginGroup := bg;end;bg := False;Inc(j);endelse beginbg := True;end; //if bgend; //if Locateend; //forfinallyl.Free;end;end;varrsMenus : TDataSet;beginrsMenus := mgDMMain.GetMenus; //取得数据集if Assigned(rsMenus) thentryCreateMenuItems(rsMenus, '', dxBar.Bars[0].ItemLinks, 1); //一定要刷新一下,否则不更改样式会出错dxBar.Bars[0].ItemLinks[0].Visible := False;dxBar.Bars[0].ItemLinks[0].Visible := True;finallyrsMenus.Free;end;end;6. 取得TcxLookupComboBox下拉列表中各项的内容日期: 2005-1-416:34:35Properties.DataController.Values包含了所有内容,如果要取得当前选择行的内容,用以下代码 //cmb:TcxLookupComboBox;with cmb.Properties.DataController doShowMessage(Values[FindRecordIndexByKey(cmb.EditValue),0]);//0代表显示的第一列,以Properties.ListColumns为准,可以从这个集合中查找对应的字段名三、。
DevExpress控件汉化代码和使用方法
![DevExpress控件汉化代码和使用方法](https://img.taocdn.com/s3/m/98c3081dbb1aa8114431b90d6c85ec3a87c28b79.png)
DevExpress控件汉化代码和使⽤⽅法DevExpress 第三⽅控件汉化的全部代码和使⽤⽅法DevExpress.XtraEditors.Controls 此控件包中包含的控件最多,包括⽂本框,下拉列表,按钮,等等DevExpress.XtraGrid ⽹格DevExpress.XtraBars 菜单栏和⼯具栏DevExpress.XtraNavBar 导航条DevExpress.XtraPrinting 报表打印相关DevExpress.XtraReports 报表DevExpress.XtraTreeList 树DevExpress.XtraVerticalGrid使⽤⽅法:1.先将该类⽣成的Dll导⼊⼯程中,也可以不⽣成dll,把该类放到项⽬中就⾏了。
2.在你的From_Load()或者program.cs中实例化该类即可,具体代码如下:new ChineseLanguage.Chinese();3.据我测试,好像适合很多版本,如果只⽤到其中⼀部分的控件,可以注释掉⼀些。
using System;using DevExpress.XtraEditors.Controls;using DevExpress.XtraGrid.Localization;using DevExpress.XtraBars.Customization;using DevExpress.XtraBars.Localization;using DevExpress.XtraNavBar;using DevExpress.XtraPrinting.Localization;using DevExpress.XtraReports.Localization;using DevExpress.XtraTreeList.Localization;using DevExpress.XtraVerticalGrid.Localization;namespace ChineseLanguage{public class Chinese{public Chinese(){Localizer.Active = new XtraEditors_CN();GridLocalizer.Active = new XtraGrid_CN();BarLocalizer.Active = new XtraBar_CN();BarLocalizer.Active.Customization = new XtraBarsCustomizationLocalization_CN();NavBarLocalizer.Active = new XtraNavBar_CN();PreviewLocalizer.Active = new XtraPrinting_CN();ReportLocalizer.Active = new XtraReports_CN();TreeListLocalizer.Active = new XtraTreeList_CN();VGridLocalizer.Active = new XtraVerticalGrid_CN();}}public class XtraEditors_CN :Localizer{public XtraEditors_CN(){//// TODO: 在此处添加构造函数逻辑//}public override string Language{get{return"简体中⽂";}}public override string GetLocalizedString(StringId id){switch(id){case StringId.TextEditMenuCopy:return"复制(&C)";case StringId.TextEditMenuCut:return"剪切(&T)";case StringId.TextEditMenuDelete:return"删除(&D)";case StringId.TextEditMenuPaste:return"粘贴(&P)";case StringId.TextEditMenuSelectAll:return"全选(&A)";case StringId.TextEditMenuUndo:return"撤消(&U)";case StringId.UnknownPictureFormat:return"未知图⽚格式";case StringId.DateEditToday:return"今天";case StringId.DateEditClear:return"清空";case StringId.DataEmpty:return"⽆图像";case StringId.ColorTabWeb:return"⽹页";case StringId.ColorTabSystem:return"系统";case StringId.ColorTabCustom:return"⾃定义";case StringId.CheckUnchecked:return"未选择";case StringId.CaptionError:return"标题错误";case StringId.Cancel:return"取消";case StringId.CalcError:return"计算错误";case StringId.CalcButtonBack:return base.GetLocalizedString(id);case StringId.CalcButtonC:return base.GetLocalizedString(id);case StringId.CalcButtonCE:return base.GetLocalizedString(id);;case StringId.CalcButtonMC:return base.GetLocalizedString(id);case StringId.CalcButtonMR:return base.GetLocalizedString(id);case StringId.CalcButtonMS:return base.GetLocalizedString(id);case StringId.CalcButtonMx:return base.GetLocalizedString(id);case StringId.CalcButtonSqrt:return base.GetLocalizedString(id);case StringId.OK:return"确定";case StringId.PictureEditMenuCopy:return"复制(&C)";case StringId.PictureEditMenuCut:return"剪切(&T)";case StringId.PictureEditMenuDelete:return"删除(&D)";case StringId.PictureEditMenuLoad:return"加载(&L)";case StringId.PictureEditMenuPaste:return"粘贴(&P)";case StringId.PictureEditMenuSave:return"保存(&S)";case StringId.PictureEditOpenFileError:return"错误图⽚格式";case StringId.PictureEditOpenFileErrorCaption:return"打开错误";case StringId.PictureEditOpenFileFilter:return"位图⽂件(*.bmp)|*.bmp|GIF动画 (*.gif)|*.gif|JPEG(*.jpg;*.jpeg)|*.jpg;*.jpeg|ICO(*.ico)|*.ico|所有图⽚⽂件|*.bmp;*.gif;*.jpeg;*.jpg;*.ico|所有⽂件(*.*)|*.*";case StringId.PictureEditOpenFileTitle:return"打开";case StringId.PictureEditSaveFileFilter:return"位图⽂件(*.bmp)|*.bmp|GIF动画(*.gif)|*.gif|JPEG(*.jpg)|*.jpg";case StringId.PictureEditSaveFileTitle:return"保存为";case StringId.TabHeaderButtonClose:return"关闭";case StringId.TabHeaderButtonNext:return"下⼀页";case StringId.TabHeaderButtonPrev:return"上⼀页";case StringId.XtraMessageBoxAbortButtonText:return"中断(&A)";case StringId.XtraMessageBoxCancelButtonText:return"取消(&C)";case StringId.XtraMessageBoxIgnoreButtonText:return"忽略(&I)";case StringId.XtraMessageBoxNoButtonText:return"否(&N)";case StringId.XtraMessageBoxOkButtonText:return"确定(&O)";case StringId.XtraMessageBoxRetryButtonText:return"重试(&R)";case StringId.XtraMessageBoxYesButtonText:return"是(&Y)";case StringId.ImagePopupEmpty:return"(空)";case StringId.ImagePopupPicture:return"(图⽚)";case StringId.InvalidValueText:return"⽆效的值";case StringId.LookUpEditValueIsNull:return"[⽆数据]";case StringId.LookUpInvalidEditValueType:return"⽆效的数据类型";case StringId.MaskBoxValidateError:return"输⼊数值不完整. 是否须要修改? 是 - 回到编辑模式以修改数值. 否 - 保持原来数值. 取消 - 回复原来数值. ";case StringId.NavigatorAppendButtonHint:return"添加";case StringId.NavigatorCancelEditButtonHint:return"取消编辑";case StringId.NavigatorEditButtonHint:return"编辑";case StringId.NavigatorEndEditButtonHint:return"结束编辑";case StringId.NavigatorFirstButtonHint:return"第⼀条";case StringId.NavigatorLastButtonHint:return"最后⼀条";case StringId.NavigatorNextButtonHint:return"下⼀条";case StringId.NavigatorNextPageButtonHint:return"下⼀页";case StringId.NavigatorPreviousButtonHint:return"上⼀条";case StringId.NavigatorPreviousPageButtonHint:return"上⼀页";case StringId.NavigatorRemoveButtonHint:return"删除";case StringId.NavigatorTextStringFormat:return"记录{0}/{1}";case StringId.None:return"";case StringId.NotValidArrayLength:return"⽆效的数组长度.";}return base.GetLocalizedString(id);}}public class XtraGrid_CN :GridLocalizer{public override string Language{get{return"简体中⽂";}}public override string GetLocalizedString(GridStringId id){switch(id){case GridStringId.CardViewNewCard:return"新卡⽚";case GridStringId.CardViewQuickCustomizationButton:return"⾃定义格式";case GridStringId.CardViewQuickCustomizationButtonFilter:return"筛选";case GridStringId.CardViewQuickCustomizationButtonSort:return"排序";case GridStringId.ColumnViewExceptionMessage:return"是否确定修改?";case GridStringId.CustomFilterDialog2FieldCheck:return"字段";case GridStringId.CustomFilterDialogCancelButton:return"取消";case GridStringId.CustomFilterDialogCaption:return"条件为:";case GridStringId.CustomFilterDialogConditionBlanks:return"空值";case GridStringId.CustomFilterDialogConditionEQU:return"等于=";case GridStringId.CustomFilterDialogConditionGT:return"⼤于>";case GridStringId.CustomFilterDialogConditionGTE:return"⼤于或等于>=";case GridStringId.CustomFilterDialogConditionLT:return"⼩于<";case GridStringId.CustomFilterDialogConditionLTE:return"⼩于或等于>=";case GridStringId.CustomFilterDialogConditionNEQ:return"不等于<>";case GridStringId.CustomFilterDialogConditionNonBlanks:return"⾮空值";case GridStringId.CustomFilterDialogConditionNotLike:return"不包含";case GridStringId.CustomFilterDialogFormCaption:return"清除筛选条件(&L)";case GridStringId.CustomFilterDialogOkButton:return"确定(&O)";case GridStringId.CustomFilterDialogRadioAnd:return"和(&A)";case GridStringId.CustomFilterDialogRadioOr:return"或者(&O)";case GridStringId.CustomizationBands:return"分区";case GridStringId.CustomizationCaption:return"⾃定义显⽰字段";case GridStringId.CustomizationColumns:return"列";case GridStringId.FileIsNotFoundError:return"⽂件{0}没找到!";case GridStringId.GridGroupPanelText:return"拖曳⼀列页眉在此进⾏排序";case GridStringId.GridNewRowText:return"单击这⾥新增⼀⾏";case GridStringId.GridOutlookIntervals:return"⼀个⽉以上;上个⽉;三周前;两周前;上周;;;;;;;;昨天;今天;明天; ;;;;;;;下周;两周后;三周后;下个⽉;⼀个⽉之后;";case GridStringId.MenuColumnBestFit:return"⾃动调整字段宽度";case GridStringId.MenuColumnBestFitAllColumns:return"⾃动调整所有字段宽度";case GridStringId.MenuColumnClearFilter:return"清除筛选条件";case GridStringId.MenuColumnColumnCustomization:return"显⽰/隐藏字段";case GridStringId.MenuColumnFilter:return"筛选";case GridStringId.MenuColumnGroup:return"按此列分组";case GridStringId.MenuColumnGroupBox:return"分组区";case GridStringId.MenuColumnSortAscending:return"升序排序";case GridStringId.MenuColumnSortDescending:return"降序排序";case GridStringId.MenuColumnUnGroup:return"取消分组";case GridStringId.MenuFooterAverage:return"平均";case GridStringId.MenuFooterAverageFormat:return"平均={0:#.##}";case GridStringId.MenuFooterCount:return"计数";case GridStringId.MenuFooterCountFormat:return"{0}";case GridStringId.MenuFooterMax:return"最⼤值";case GridStringId.MenuFooterMaxFormat:return"最⼤值={0}";case GridStringId.MenuFooterMin:return"最⼩";case GridStringId.MenuFooterMinFormat:return"最⼩值={0}";case GridStringId.MenuFooterNone:return"没有";case GridStringId.MenuFooterSum:return"合计";case GridStringId.MenuFooterSumFormat:return"求和={0:#.##}";case GridStringId.MenuGroupPanelClearGrouping:return"取消所有分组";case GridStringId.MenuGroupPanelFullCollapse:return"收缩全部分组";case GridStringId.MenuGroupPanelFullExpand:return"展开全部分组";case GridStringId.PopupFilterAll:return"(所有)";case GridStringId.PopupFilterBlanks:return"(空值)";case GridStringId.PopupFilterCustom:return"(⾃定义)";case GridStringId.PopupFilterNonBlanks:return"(⾮空值)";case GridStringId.PrintDesignerBandedView:return"打印设置(区域模式)";case GridStringId.PrintDesignerBandHeader:return"区标题";case GridStringId.PrintDesignerCardView:return"打印设置(卡⽚模式)";case GridStringId.PrintDesignerDescription:return"为当前视图设置不同的打印选项.";case GridStringId.PrintDesignerGridView:return"打印设置(表格模式)";case GridStringId.WindowErrorCaption:return"错误";}return base.GetLocalizedString(id);}}public class XtraBar_CN :BarLocalizer{public override string Language{get{return"简体中⽂";}}public override string GetLocalizedString(BarString id){switch(id){case BarString.AddOrRemove:return"新增或删除按钮(&A)";case BarString.CustomizeButton:return"⾃定义(&C)";case BarString.CustomizeWindowCaption:return"⾃定义";case BarString.MenuAnimationFade:return"减弱";case BarString.MenuAnimationNone:return"空";case BarString.MenuAnimationRandom:return"任意";case BarString.MenuAnimationSlide:return"滑动";case BarString.MenuAnimationSystem:return"(系统默认值)";case BarString.MenuAnimationUnfold:return"展开";case BarString.NewToolbarCaption:return"新建⼯具栏";case BarString.None:return"";case BarString.RenameToolbarCaption:return"重新命名";case BarString.ResetBar:return"是否确实要重置对 '{0}' ⼯具栏所作的修改?";case BarString.ResetBarCaption:return"⾃定义";case BarString.ResetButton:return"重设⼯具栏(&R)";case BarString.ToolBarMenu:return"重设(&R)$删除(&D)$!命名(&N)$!标准(&L)$总使⽤⽂字(&T)$在菜单中只⽤⽂字(&O)$图像与⽂本(&A)$!开始⼀组(&G)$常⽤的(&M)";case BarString.ToolbarNameCaption:return"⼯具栏名称(&T):";}return base.GetLocalizedString(id);}}public class XtraBarsCustomizationLocalization_CN : CustomizationControl{private ponentModel.Container components = null;public XtraBarsCustomizationLocalization_CN(){// This call is required by the Windows.Forms Form Designer.InitializeComponent();// TODO: Add any initialization after the InitForm call}protected override void Dispose(bool disposing){if (disposing){if (components != null){components.Dispose();}}base.Dispose(disposing);}#region Component Designer generated code///<summary>/// Required method for Designer support - do not modify/// the contents of this method with the code editor.///</summary>private void InitializeComponent(){this.tpOptions.SuspendLayout();this.tpCommands.SuspendLayout();this.tpToolbars.SuspendLayout();((ponentModel.ISupportInitialize)(this.toolBarsList)).BeginInit();((ponentModel.ISupportInitialize)(this.lbCommands)).BeginInit();((ponentModel.ISupportInitialize)(this.lbCategories)).BeginInit();((ponentModel.ISupportInitialize)(this.cbOptionsShowFullMenus.Properties)).BeginInit();((ponentModel.ISupportInitialize)(this.cbOptions_showFullMenusAfterDelay.Properties)).BeginInit(); ((ponentModel.ISupportInitialize)(this.cbOptions_showTips.Properties)).BeginInit();((ponentModel.ISupportInitialize)(this.cbOptions_ShowShortcutInTips.Properties)).BeginInit();((ponentModel.ISupportInitialize)(this.tabControl)).BeginInit();this.tabControl.SuspendLayout();((ponentModel.ISupportInitialize)(this.tbNBDlgName.Properties)).BeginInit();this.pnlNBDlg.SuspendLayout();((ponentModel.ISupportInitialize)(this.cbOptions_largeIcons.Properties)).BeginInit();((ponentModel.ISupportInitialize)(this.cbOptions_MenuAnimation.Properties)).BeginInit();this.SuspendLayout();this.btClose.Text = "关闭";this.btResetBar.Text = "重新设置(&R)";this.btRenameBar.Text = "重命名(&E)";this.btNewBar.Text = "新建(&N)";this.btDeleteBar.Text = "删除(&D)";this.btOptions_Reset.Text = "重置惯⽤数据(&R)";this.btNBDlgCancel.Text = "取消";this.btNBDlgOk.Text = "确定";this.tpOptions.Size = new System.Drawing.Size(354, 246);this.tpOptions.Text = "选项(&O)";this.tpCommands.Text = "命令(&C)";this.tpToolbars.Text = "⼯具栏(&B)";this.cbOptionsShowFullMenus.Properties.Caption = "始终显⽰整个菜单(&N)";this.cbOptions_showFullMenusAfterDelay.Properties.Caption = "⿏标指针短暂停留后显⽰完整菜单(&U)";this.cbOptions_largeIcons.Properties.Caption = "⼤图标(&L)";this.cbOptions_showTips.Properties.Caption = "显⽰关于⼯具栏屏幕提⽰(&T)";this.cbOptions_ShowShortcutInTips.Properties.Caption = "在屏幕提⽰中显⽰快捷键(&H)";this.lbDescCaption.Text = "详细说明";this.lbOptions_Other.Text = "其它";this.lbOptions_PCaption.Text = "个性化菜单和⼯具栏";this.lbCategoriesCaption.Text = "类别:";this.lbCommandsCaption.Text = "命令:";this.lbToolbarCaption.Text = "⼯具栏:";this.lbOptions_MenuAnimation.Text = "菜单动画设置(&M):";this.lbNBDlgCaption.Text = "⼯具栏名称(&T)";this.lbCommands.Appearance.BackColor = System.Drawing.SystemColors.Window;eBackColor = true; = "XtraBarsCustomizationLocalization_CN";this.tpOptions.ResumeLayout(false);this.tpCommands.ResumeLayout(false);((ponentModel.ISupportInitialize)(this.toolBarsList)).EndInit();((ponentModel.ISupportInitialize)(this.lbCommands)).EndInit();((ponentModel.ISupportInitialize)(this.lbCategories)).EndInit();((ponentModel.ISupportInitialize)(this.cbOptionsShowFullMenus.Properties)).EndInit();((ponentModel.ISupportInitialize)(this.cbOptions_showFullMenusAfterDelay.Properties)).EndInit(); ((ponentModel.ISupportInitialize)(this.cbOptions_showTips.Properties)).EndInit();((ponentModel.ISupportInitialize)(this.cbOptions_ShowShortcutInTips.Properties)).EndInit();((ponentModel.ISupportInitialize)(this.tabControl)).EndInit();this.tabControl.ResumeLayout(false);((ponentModel.ISupportInitialize)(this.tbNBDlgName.Properties)).EndInit();this.pnlNBDlg.ResumeLayout(false);((ponentModel.ISupportInitialize)(this.cbOptions_largeIcons.Properties)).EndInit();((ponentModel.ISupportInitialize)(this.cbOptions_MenuAnimation.Properties)).EndInit();this.ResumeLayout(false);}#endregion}public class XtraNavBar_CN :NavBarLocalizer{public override string Language{get{return"简体中⽂";}}public override string GetLocalizedString(NavBarStringId id){switch(id){case NavBarStringId.NavPaneChevronHint:return"配置按钮";case NavBarStringId.NavPaneMenuAddRemoveButtons:return"添加或删除按钮(&A)";case NavBarStringId.NavPaneMenuShowFewerButtons:return"显⽰较少的按钮(&F)";case NavBarStringId.NavPaneMenuShowMoreButtons:return"显⽰更多的按钮(&M)";}return base.GetLocalizedString(id);}}public class XtraPrinting_CN :PreviewLocalizer{public override string Language{get{return"简体中⽂";}}public override string GetLocalizedString(PreviewStringId id){switch(id){case PreviewStringId.Button_Apply:return"应⽤";case PreviewStringId.Button_Cancel:return"取消";case PreviewStringId.Button_Help:return"帮助";case PreviewStringId.Button_Ok:return"确定";case PreviewStringId.EMail_From:return"From";case PreviewStringId.Margin_BottomMargin:return"下边界";case PreviewStringId.Margin_Inch:return"英⼨";case PreviewStringId.Margin_LeftMargin:return"左边界";case PreviewStringId.Margin_Millimeter:return"毫⽶";case PreviewStringId.Margin_RightMargin:return"右边界";case PreviewStringId.Margin_TopMargin:return"上边界";case PreviewStringId.MenuItem_BackgrColor:return"颜⾊(&C)";case PreviewStringId.MenuItem_Background:return"背景(&B)";case PreviewStringId.MenuItem_CsvDocument:return"CSV⽂件";case PreviewStringId.MenuItem_Exit:return"退出(&X)";case PreviewStringId.MenuItem_Export:return"导出(&E)";case PreviewStringId.MenuItem_File: return"⽂件(&F)";case PreviewStringId.MenuItem_GraphicDocument:return"图⽚⽂件";case PreviewStringId.MenuItem_HtmDocument:return"HTML⽂件";case PreviewStringId.MenuItem_MhtDocument:return"MHT⽂件";case PreviewStringId.MenuItem_PageSetup:return"页⾯设置(&U)";case PreviewStringId.MenuItem_PdfDocument:return"PDF⽂件";case PreviewStringId.MenuItem_Print:return"打印(&P)";case PreviewStringId.MenuItem_PrintDirect:return"直接打印(&R)";case PreviewStringId.MenuItem_RtfDocument:return"RTF⽂件";case PreviewStringId.MenuItem_Send:return"发送(&D)";case PreviewStringId.MenuItem_TxtDocument:return"TXT⽂件";case PreviewStringId.MenuItem_View:return"视图(&V)";case PreviewStringId.MenuItem_ViewStatusbar:return"状态栏(&S)";case PreviewStringId.MenuItem_Watermark:return"⽔印(&W)";case PreviewStringId.MenuItem_XlsDocument:return"XLS⽂件";case PreviewStringId.MPForm_Lbl_Pages:return"页";case PreviewStringId.Msg_CreatingDocument:return"正在⽣成⽂件";case PreviewStringId.Msg_CustomDrawWarning:return"警告!";case PreviewStringId.Msg_EmptyDocument:return"此⽂件没有页⾯.";case PreviewStringId.Msg_FontInvalidNumber:return"字体⼤⼩不能为0或负数";case PreviewStringId.Msg_IncorrectPageRange:return"设置的页边界不正确";case PreviewStringId.Msg_NeedPrinter:return"没有安装打印机.";case PreviewStringId.Msg_NotSupportedFont:return"这种字体不被⽀持";case PreviewStringId.Msg_PageMarginsWarning:return"⼀个或以上的边界超出了打印范围.是否继续?"; case PreviewStringId.Msg_WrongPageSettings:return"打印机不⽀持所选的纸张⼤⼩. 是否继续打印?"; case PreviewStringId.Msg_WrongPrinter:return"⽆效的打印机名称.请检查打印机的设置是否正确."; case PreviewStringId.PageInfo_PageDate:return"[Date Printed]";case PreviewStringId.PageInfo_PageNumber:return"[Page #]";case PreviewStringId.PageInfo_PageNumberOfTotal:return"[Page # of Pages #]";case PreviewStringId.PageInfo_PageTime:return"[Time Printed]";case PreviewStringId.PageInfo_PageUserName:return"[User Name]";case PreviewStringId.PreviewForm_Caption:return"预览";case PreviewStringId.SaveDlg_FilterBmp:return"BMP Bitmap Format";case PreviewStringId.SaveDlg_FilterCsv:return"CSV⽂件";case PreviewStringId.SaveDlg_FilterGif:return"GIF Graphics Interchange Format";case PreviewStringId.SaveDlg_FilterHtm:return"HTML⽂件";case PreviewStringId.SaveDlg_FilterJpeg:return"JPEG File Interchange Format";case PreviewStringId.SaveDlg_FilterMht:return"MHT⽂件";case PreviewStringId.SaveDlg_FilterPdf:return"PDF⽂件";case PreviewStringId.SaveDlg_FilterPng:return"PNG Portable Network Graphics Format";case PreviewStringId.SaveDlg_FilterRtf:return"RTF⽂件";case PreviewStringId.SaveDlg_FilterTiff:return"TIFF Tag Image File Format";case PreviewStringId.SaveDlg_FilterTxt:return"TXT⽂件";case PreviewStringId.SaveDlg_FilterWmf:return"WMF Windows Metafile";case PreviewStringId.SaveDlg_FilterXls:return"Excel⽂件";case PreviewStringId.SaveDlg_Title:return"另存为";case PreviewStringId.SB_CurrentPageNo:return"⽬前页码:";case PreviewStringId.SB_PageInfo:return"{0}/{1}";case PreviewStringId.SB_PageNone:return"⽆";case PreviewStringId.SB_TotalPageNo:return"总页码:";case PreviewStringId.SB_ZoomFactor:return"缩放系数:";case PreviewStringId.ScrollingInfo_Page:return"页";case PreviewStringId.TB_TTip_Backgr:return"背景⾊";case PreviewStringId.TB_TTip_Close:return"退出";case PreviewStringId.TB_TTip_Customize:return"⾃定义";case PreviewStringId.TB_TTip_EditPageHF:return"页眉页脚";case PreviewStringId.TB_TTip_Export:return"导出⽂件";case PreviewStringId.TB_TTip_FirstPage:return"⾸页";case PreviewStringId.TB_TTip_HandTool:return"⼿掌⼯具";case PreviewStringId.TB_TTip_LastPage:return"尾页";case PreviewStringId.TB_TTip_Magnifier:return"放⼤/缩⼩";case PreviewStringId.TB_TTip_Map:return"⽂档视图";case PreviewStringId.TB_TTip_MultiplePages:return"多页";case PreviewStringId.TB_TTip_NextPage:return"下⼀页";case PreviewStringId.TB_TTip_PageSetup:return"页⾯设置";case PreviewStringId.TB_TTip_PreviousPage:return"上⼀页";case PreviewStringId.TB_TTip_Print:return"打印";case PreviewStringId.TB_TTip_PrintDirect:return"直接打印";case PreviewStringId.TB_TTip_Search:return"搜索";case PreviewStringId.TB_TTip_Send:return"发送E-Mail";case PreviewStringId.TB_TTip_Watermark:return"⽔印";case PreviewStringId.TB_TTip_Zoom:return"缩放";case PreviewStringId.TB_TTip_ZoomIn:return"放⼤";case PreviewStringId.TB_TTip_ZoomOut:return"缩⼩";case PreviewStringId.WMForm_Direction_BackwardDiagonal:return"反向倾斜";case PreviewStringId.WMForm_Direction_ForwardDiagonal:return"正向倾斜";case PreviewStringId.WMForm_Direction_Horizontal:return"横向";case PreviewStringId.WMForm_Direction_Vertical:return"纵向";case PreviewStringId.WMForm_HorzAlign_Center:return"置中";case PreviewStringId.WMForm_HorzAlign_Left:return"靠左";case PreviewStringId.WMForm_HorzAlign_Right:return"靠右";case PreviewStringId.WMForm_ImageClip:return"剪辑";case PreviewStringId.WMForm_ImageStretch:return"伸展";case PreviewStringId.WMForm_ImageZoom:return"缩放";case PreviewStringId.WMForm_PageRangeRgrItem_All:return"全部";case PreviewStringId.WMForm_PageRangeRgrItem_Pages:return"页码";case PreviewStringId.WMForm_PictureDlg_Title:return"选择图⽚";case PreviewStringId.WMForm_VertAlign_Bottom:return"底端";case PreviewStringId.WMForm_VertAlign_Middle:return"中间";case PreviewStringId.WMForm_VertAlign_Top:return"顶端";case PreviewStringId.WMForm_Watermark_Asap:return"ASAP";case PreviewStringId.WMForm_Watermark_Confidential:return"CONFIDENTIAL";case PreviewStringId.WMForm_Watermark_Copy:return"COPY";case PreviewStringId.WMForm_Watermark_DoNotCopy:return"DO NOT COPY";case PreviewStringId.WMForm_Watermark_Draft:return"DRAFT";case PreviewStringId.WMForm_Watermark_Evaluation:return"EVALUATION";case PreviewStringId.WMForm_Watermark_Original:return"ORIGINAL";case PreviewStringId.WMForm_Watermark_Personal:return"PERSONAL";case PreviewStringId.WMForm_Watermark_Sample:return"SAMPLE";case PreviewStringId.WMForm_Watermark_TopSecret:return"TOP SECRET";case PreviewStringId.WMForm_ZOrderRgrItem_Behind:return"在后⾯";case PreviewStringId.WMForm_ZOrderRgrItem_InFront:return"在前⾯";}return base.GetLocalizedString(id);}}public class XtraReports_CN :ReportLocalizer{public override string Language{get{return"简体中⽂";}}public override string GetLocalizedString(ReportStringId id){switch(id){case ReportStringId.BandDsg_QuantityPerPage:return"⼀个页⾯集合";case ReportStringId.BandDsg_QuantityPerReport:return"⼀个报表集合";case ReportStringId.BCForm_Lbl_Binding:return"结合";case ReportStringId.BCForm_Lbl_Property:return"属性";case ReportStringId.CatAppearance:return"版⾯";case ReportStringId.CatBehavior:return"状态";case ReportStringId.CatData:return"数据";case ReportStringId.CatLayout:return"布局";case ReportStringId.CatNavigation:return"导航";case ReportStringId.CatPageSettings:return"页⾯设置";case ReportStringId.Cmd_AlignToGrid:return"对齐⽹格线";case ReportStringId.Cmd_BottomMargin:return"底端边缘";case ReportStringId.Cmd_BringToFront:return"移到最上层";case ReportStringId.Cmd_Copy:return"复制";case ReportStringId.Cmd_Cut:return"剪贴";case ReportStringId.Cmd_Delete:return"删除";case ReportStringId.Cmd_Detail:return"详细";case ReportStringId.Cmd_DetailReport:return"详细报表";case ReportStringId.Cmd_GroupFooter:return"群组尾";case ReportStringId.Cmd_GroupHeader:return"群组⾸";case ReportStringId.Cmd_InsertBand:return"插⼊区段";case ReportStringId.Cmd_InsertDetailReport:return"插⼊详细报表";case ReportStringId.Cmd_InsertUnboundDetailReport:return"⾮绑定";case ReportStringId.Cmd_PageFooter:return"页尾";case ReportStringId.Cmd_PageHeader:return"页⾸";case ReportStringId.Cmd_Paste:return"粘贴";case ReportStringId.Cmd_Properties:return"属性";case ReportStringId.Cmd_ReportFooter:return"报表尾";case ReportStringId.Cmd_ReportHeader:return"报表⾸";case ReportStringId.Cmd_RtfClear:return"清除";case ReportStringId.Cmd_RtfLoad:return"加载⽂件";case ReportStringId.Cmd_SendToBack:return"移到最下层";case ReportStringId.Cmd_TableDelete:return"删除(&L)";case ReportStringId.Cmd_TableDeleteCell:return"单元格(&L)";case ReportStringId.Cmd_TableDeleteColumn:return"列(&C)";case ReportStringId.Cmd_TableDeleteRow:return"⾏(&R)";case ReportStringId.Cmd_TableInsert:return"插⼊(&I)";case ReportStringId.Cmd_TableInsertCell:return"单元格(&C)";case ReportStringId.Cmd_TableInsertColumnToLeft:return"左列(&L)";case ReportStringId.Cmd_TableInsertColumnToRight:return"右列(&R)";case ReportStringId.Cmd_TableInsertRowAbove:return"上⾏(&A)";case ReportStringId.Cmd_TableInsertRowBelow:return"下⾏(&B)";case ReportStringId.Cmd_TopMargin:return"顶端边缘";case ReportStringId.Cmd_ViewCode:return"检视代码";case ReportStringId.FindForm_Msg_FinishedSearching:return"搜索⽂件完成";case ReportStringId.FindForm_Msg_TotalFound:return"合计查找:";case ReportStringId.FSForm_Btn_Delete:return"删除";case ReportStringId.FSForm_GrBox_Sample:return"范例";case ReportStringId.FSForm_Lbl_Category:return"类别";case ReportStringId.FSForm_Lbl_CustomGeneral:return"⼀般格式不包含特殊数字格式";case ReportStringId.FSForm_Lbl_Prefix:return"上标";case ReportStringId.FSForm_Lbl_Suffix:return"下标";case ReportStringId.FSForm_Msg_BadSymbol:return"损坏的符号";case ReportStringId.FSForm_Tab_Custom:return"⾃定义";case ReportStringId.FSForm_Tab_StandardTypes:return"标准类型";case ReportStringId.Msg_CantFitBarcodeToControlBounds:return"条形码控件的边界太⼩";case ReportStringId.Msg_CreateReportInstance:return"您试图打开⼀个不同类型的报表来编辑。
第三方控件(DevExpress)使用说明
![第三方控件(DevExpress)使用说明](https://img.taocdn.com/s3/m/8e3320f8700abb68a982fb33.png)
第三方控件使用大全【肖纯凯开发过程中整理】一、ComboBoxEdit1、如何使其不可编辑TextEditStyle 设置为:DisableTextEditor2、如何设置鼠标为手形Cursor 设置为:Hand二、GridControl1、如何解决单击记录整行选中的问题View->OptionsBehavior->EditorShowMode 设置为:Click2、如何新增一条记录(1)、gridView.AddNewRow()(2)、实现gridView_InitNewRow事件3、如何解决GridControl记录能获取而没有显示出来的问题gridView.populateColumns();4、如何让行只能选择而不能编辑(或编辑某一单元格)(1)、View->OptionsBehavior->EditorShowMode 设置为:Click(2)、View->OptionsBehavior->Editable 设置为:false5、如何禁用GridControl中单击列弹出右键菜单设置Run Design->OptionsMenu->EnableColumnMenu 设置为:false6、如何隐藏GridControl的GroupPanel表头设置Run Design->OptionsView->ShowGroupPanel 设置为:false7、如何禁用GridControl中列头的过滤器过滤器如下图所示:设置Run Design->OptionsCustomization->AllowFilter 设置为:false8、如何在查询得到0条记录时显示自定义的字符提示/显示如图所示:方法如下://When no Records Are Being Displayedprivate void gridView1_CustomDrawEmptyForeground(object sender, CustomDrawEventArgs e){//方法一(此方法为GridView设置了数据源绑定时,可用)ColumnView columnView = sender as ColumnView;BindingSource bindingSource = this.gridView1.DataSource as BindingSource;if(bindingSource.Count == 0){string str = "没有查询到你所想要的数据!";Font f = new Font("宋体", 10, FontStyle.Bold);Rectangle r = new Rectangle(e.Bounds.Top + 5, e.Bounds.Left + 5,e.Bounds.Right - 5, e.Bounds.Height - 5);e.Graphics.DrawString(str, f, Brushes.Black, r);}//方法二(此方法为GridView没有设置数据源绑定时,使用,一般使用此种方法)if (this._flag){if (this.gridView1.RowCount == 0){string str = "没有查询到你所想要的数据!";Font f = new Font("宋体", 10, FontStyle.Bold);Rectangle r = new Rectangle(e.Bounds.Left + 5, e.Bounds.Top +5, e.Bounds.Width - 5, e.Bounds.Height - 5);e.Graphics.DrawString(str, f, Brushes.Black, r);}}}9、如何显示水平滚动条?设置this.gridView.OptionsView.ColumnAutoWidth = false;10、如何定位到第一条数据/记录?设置this.gridView.MoveFirst()11、如何定位到下一条数据/记录?设置this.gridView.MoveNext()12、如何定位到最后一条数据/记录?设置this.gridView.MoveLast()13、设置成一次选择一行,并且不能被编辑this.gridView1.FocusRectStyle =DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus; this.gridView1.OptionsBehavior.Editable = false;this.gridView1.OptionsSelection.EnableAppearanceFocusedCell = false;14、如何显示行号?this.gridView1.IndicatorWidth = 40;//显示行的序号private void gridView1_CustomDrawRowIndicator(object sender,RowIndicatorCustomDrawEventArgs e){if (.IsRowIndicator && e.RowHandle>=0){.DisplayText = (e.RowHandle + 1).ToString();}}15、如何让各列头禁止移动?设置gridView1.OptionsCustomization.AllowColumnMoving = false;16、如何让各列头禁止排序?设置gridView1.OptionsCustomization.AllowSort = false;17、如何禁止各列头改变列宽?设置gridView1.OptionsCustomization.AllowColumnResizing = false;18、19、20、21、22、23、24、25、26、三、navBarControl1、如何在每一个navBarGroup里添加自己想要的控件设置GroupStyle: ControlContainer2、如何设置navBarGroup有滚动条设置SkinExplorerBarViewScrollStyle:ScrollBar3、如休把navBarGroup设置成如下样式如图所示:设置navBarGroup的PaintStyleName属性为: SkinNavigationPane四、toolTipController效果图如下:1、如何设置显示的时间长短设置this.toolTipController1.AutoPopDelay = 2000;2、如何在屏幕上显示如上图所示的效果ToolTipControllerShowEventArgs args =this.toolTipController1.CreateShowArgs();this.toolTipController1.SetToolTip(this.sbtnYes, "请选择一条记录!");this.toolTipController1.SetTitle(this.sbtnYes, "提示");this.toolTipController1.SetToolTipIconType(this.sbtnYes,DevExpress.Utils.ToolTipIconType.Exclamation);this.toolTipController1.ShowBeak = true;this.toolTipController1.ShowShadow = true;this.toolTipController1.Rounded = true;this.toolTipController1.ShowHint("请选择一条记录!", "提示"); args.ToolTip = "请选择一条记录!";args.Title = "提示";3、如何设置边框的颜色this.toolTipController1.Appearance.BorderColor = Color.Red;五、TextEdit1、如何设置TextEdit为多行,可拉伸设置TextEdit的Propertity->AutoHeight为:False六、LayoutControl1、如何设置LayoutItem为隐藏设置LayoutItem.Visibility = Never七、TreeList1、如何隐藏TreeList的列头设置TreeListr的OptionsView的ShowColumns属性为:False2、如何八、PictureEdit1、如何禁止PictureEdit的右键菜单?设置PictureEdit的Properties->ShowMenu为:false九、TreeList1、如何让TreeList的每个结点高亮显示?效果如下:代码如下:private void treeList1_CustomDrawNodeCell(object sender,DevExpress.XtraTreeList.CustomDrawNodeCellEventArgs e){TreeList node = sender as TreeList;if (e.Node == node.FocusedNode){e.Graphics.FillRectangle(SystemBrushes.Window, e.Bounds);Rectangle r = new Rectangle(e.EditViewInfo.ContentRect.Left,e.EditViewInfo.ContentRect.Top,Convert.ToInt32(e.Graphics.MeasureString(e.CellText, treeList1.Font).Width + 1),Convert.ToInt32(e.Graphics.MeasureString(e.CellText,treeList1.Font).Height));e.Graphics.FillRectangle(SystemBrushes.Highlight, r);e.Graphics.DrawString(e.CellText, treeList1.Font, SystemBrushes.HighlightText, r);e.Handled = true;}}//============================================================================ //===============================以下内容为收集=============================== //============================================================================一、改变grid的样式。
DevExpress说明
![DevExpress说明](https://img.taocdn.com/s3/m/ed12d20902020740be1e9b3c.png)
DevExpress主要常用控件说明:1、TestEdit: 一个单行文本编辑器。
常用属性:Name:该控件的名称。
Text:该控件中的内容。
Enabled:该控件是否激活。
Visible:控件是否可视。
passWordChar:设置成什么则文本框输入时显示什么,用来隐藏输入。
如设置为*,则输入时显示为*。
常用事件:EditValueChanged:当控件文本内容发生改变时触发的事件。
KeyPress:按下按键时触发的事件。
2、MemoEdit:一个编辑器,允许显示和编辑多行文本。
常用属性:Name:该控件的名称。
Text:该控件中的内容。
Enabled:该控件是否激活。
Visible:控件是否可视。
常用事件:EditValueChanged:当控件文本内容发生改变时触发的事件。
KeyPress:按下按键时触发的事件。
3、LableControl:一个文本标签。
常用属性:Name:该控件的名称。
Text:该控件中显示的内容。
Enabled:该控件是否激活。
Visible:控件是否可视。
4、SimpleButton:一个按钮控件。
常用属性:Name:该控件的名称。
Text:该控件中显示的内容。
Enabled:该控件是否激活。
Visible:控件是否可视。
常用事件:EditValueChanged:当控件文本内容发生改变时触发的事件。
Click:单击该控件时触发的事件。
KeyPress:按下某键时触发的事件。
5、checkEdit:一个编辑器,提供了选中、未选中、以及可选用的变灰状态。
经常用于编辑Boolean 值。
常用属性:Name:该控件的名称。
Text:该控件中显示的内容。
Checked:该控件是否被选中。
Enabled:该控件是否激活。
Visible:控件是否可视。
常用事件:Click:单击该控件时触发的事件。
CheckedChanged:当控件值发生变化时触发的事件。
6、RadioGroup:一个控件,提供了一组单选按钮。
DevExpress控件使用汇总
![DevExpress控件使用汇总](https://img.taocdn.com/s3/m/e371a9531eb91a37f1115c77.png)
一、GridControl使用详解1、原汁原味的表格展示插件所在位置使用时拖拽过来,如下所示即使拖拽过来原封不动的样子:在程序中写入构建一个表格的代码:1.private DataTable InitDt()2.{3.DataTable dt = new DataTable("个人简历");4.dt.Columns.Add("id",typeof(int));5.dt.Columns.Add("name", typeof(string));6.dt.Columns.Add("sex", typeof(int));7.dt.Columns.Add("address", typeof(string));8.dt.Columns.Add("aihao", typeof(string));9.dt.Columns.Add("photo", typeof(string));10.dt.Rows.Add(new object[] { 1, "张三", 1, "东大街6号", "看书", "" });11.dt.Rows.Add(new object[] { 1, "王五", 0, "西大街2号", "上网,游戏", "" });12.dt.Rows.Add(new object[] { 1, "李四", 1, "南大街3号", "上网,逛街", "" });13.dt.Rows.Add(new object[] { 1, "钱八", 0, "北大街5号", "上网,逛街,看书,游戏", "" });14.dt.Rows.Add(new object[] { 1, "赵九", 1, "中大街1号", "看书,逛街,游戏", "" });15.return dt;16.}书写gridControl1绑定数据方法:1.private void BindDataSource(DataTable dt)2.{3.//绑定DataTable4.gridControl1.DataSource = dt;5.//绑定DataSet6.//gridControl1.DataSource = ds;7.//gridControl1.DataMember = "表名";8.}程序调用:BindDataSource(InitDt());呈现结果如下:2、表格的列名配置点击Run Designer控件上的按钮,弹出视图设计窗口:列配置:我们配置完列名后,会发现设计视图发生了变化:运行结果:3、列数据的格式设置为了测试方便,我们加入新的3列,格式分别是数据,时间,字符串。
DevExpress控件使用大全
![DevExpress控件使用大全](https://img.taocdn.com/s3/m/39f9dd3e31126edb6f1a10f8.png)
第三方控件使用大全一、ComboBoxEdit1、如何使其不可编辑TextEditStyle 设置为:DisableTextEditor2、如何设置鼠标为手形Cursor 设置为:Hand二、GridControl1、如何解决单击记录整行选中的问题View->OptionsBehavior->EditorShowMode 设置为:Click2、如何新增一条记录(1)、gridView.AddNewRow()(2)、实现gridView_InitNewRow事件3、如何解决GridControl记录能获取而没有显示出来的问题gridView.populateColumns();4、如何让行只能选择而不能编辑(或编辑某一单元格)(1)、View->OptionsBehavior->EditorShowMode 设置为:Click(2)、View->OptionsBehavior->Editable 设置为:false5、如何禁用GridControl中单击列弹出右键菜单设置Run Design->OptionsMenu->EnableColumnMenu 设置为:false6、如何隐藏GridControl的GroupPanel表头设置Run Design->OptionsView->ShowGroupPanel 设置为:false7、如何禁用GridControl中列头的过滤器过滤器如下图所示:设置Run Design->OptionsCustomization->AllowFilter 设置为:false8、如何在查询得到0条记录时显示自定义的字符提示/显示如图所示:方法如下://When no Records Are Being Displayedprivatevoid gridView1_CustomDrawEmptyForeground(object sender, CustomDrawEventArgs e){//方法一(此方法为GridView设置了数据源绑定时,可用)ColumnView columnView = sender as ColumnView;BindingSource bindingSource = this.gridView1.DataSource as BindingSource;if(bindingSource.Count == 0){string str = "没有查询到你所想要的数据!";Font f = new Font("宋体", 10, FontStyle.Bold);Rectangle r = new Rectangle(e.Bounds.Top + 5, e.Bounds.Left + 5,e.Bounds.Right - 5, e.Bounds.Height - 5);e.Graphics.DrawString(str, f, Brushes.Black, r);}//方法二(此方法为GridView没有设置数据源绑定时,使用,一般使用此种方法)if (this._flag){if (this.gridView1.RowCount == 0){string str = "没有查询到你所想要的数据!";Font f = new Font("宋体", 10, FontStyle.Bold);Rectangle r = new Rectangle(e.Bounds.Left + 5, e.Bounds.Top + 5, e.Bounds.Width -5, e.Bounds.Height - 5);e.Graphics.DrawString(str, f, Brushes.Black, r);}}}9、如何显示水平滚动条?设置this.gridView.OptionsView.ColumnAutoWidth = false;10、如何定位到第一条数据/记录?设置this.gridView.MoveFirst()11、如何定位到下一条数据/记录?设置this.gridView.MoveNext()12、如何定位到最后一条数据/记录?设置this.gridView.MoveLast()13、设置成一次选择一行,并且不能被编辑this.gridView1.FocusRectStyle =DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus; this.gridView1.OptionsBehavior.Editable = false;this.gridView1.OptionsSelection.EnableAppearanceFocusedCell = false;14、如何显示行号?this.gridView1.IndicatorWidth = 40;//显示行的序号privatevoid gridView1_CustomDrawRowIndicator(object sender, RowIndicatorCustomDrawEventArgs e) {if (.IsRowIndicator && e.RowHandle>=0){.DisplayText = (e.RowHandle + 1).ToString();}}15、如何让各列头禁止移动?设置gridView1.OptionsCustomization.AllowColumnMoving = false;16、如何让各列头禁止排序?设置gridView1.OptionsCustomization.AllowSort = false;17、如何禁止各列头改变列宽?设置gridView1.OptionsCustomization.AllowColumnResizing = false;18、19、20、21、22、23、24、25、26、三、navBarControl1、如何在每一个navBarGroup里添加自己想要的控件设置GroupStyle: ControlContainer2、如何设置navBarGroup有滚动条设置SkinExplorerBarViewScrollStyle:ScrollBar3、如休把navBarGroup设置成如下样式如图所示:设置navBarGroup的PaintStyleName属性为: SkinNavigationPane四、toolTipController效果图如下:1、如何设置显示的时间长短设置this.toolTipController1.AutoPopDelay = 2000;2、如何在屏幕上显示如上图所示的效果ToolTipControllerShowEventArgs args = this.toolTipController1.CreateShowArgs(); this.toolTipController1.SetToolTip(this.sbtnYes, "请选择一条记录!");this.toolTipController1.SetTitle(this.sbtnYes, "提示");this.toolTipController1.SetToolTipIconType(this.sbtnYes,DevExpress.Utils.ToolTipIconType.Exclamation);this.toolTipController1.ShowBeak = true;this.toolTipController1.ShowShadow = true;this.toolTipController1.Rounded = true;this.toolTipController1.ShowHint("请选择一条记录!", "提示"); args.ToolTip = "请选择一条记录!";args.Title = "提示";3、如何设置边框的颜色this.toolTipController1.Appearance.BorderColor = Color.Red;五、TextEdit1、如何设置TextEdit为多行,可拉伸设置TextEdit的Propertity->AutoHeight为:False六、LayoutControl1、如何设置LayoutItem为隐藏设置LayoutItem.Visibility = Never七、TreeList1、如何隐藏TreeList的列头设置TreeListr的OptionsView的ShowColumns属性为:False2、如何八、PictureEdit1、如何禁止PictureEdit的右键菜单?设置PictureEdit的Properties->ShowMenu为:false九、TreeList1、如何让TreeList的每个结点高亮显示?效果如下:代码如下:privatevoid treeList1_CustomDrawNodeCell(object sender,DevExpress.XtraTreeList.CustomDrawNodeCellEventArgs e){TreeList node = sender as TreeList;if (e.Node == node.FocusedNode){e.Graphics.FillRectangle(SystemBrushes.Window, e.Bounds);Rectangle r = new Rectangle(e.EditViewInfo.ContentRect.Left,e.EditViewInfo.ContentRect.Top,Convert.ToInt32(e.Graphics.MeasureString(e.CellText,treeList1.Font).Width + 1),Convert.ToInt32(e.Graphics.MeasureString(e.CellText,treeList1.Font).Height));e.Graphics.FillRectangle(SystemBrushes.Highlight, r);e.Graphics.DrawString(e.CellText, treeList1.Font, SystemBrushes.HighlightText, r);e.Handled = true;}}//============================================================================ //===============================以下内容为收集=============================== //============================================================================一、改变grid的样式。
第三方控件DevExpress使用整理
![第三方控件DevExpress使用整理](https://img.taocdn.com/s3/m/cf8faebc1a37f111f1855bec.png)
第三方控件DevExpress使用整理一、ComboBoxEdit:1、设置private void Form1_Load(object sender, EventArgs e){comboBoxEdit1.Properties.Items.Add(" ");//向comboboxedit中添加数据}二、LookUpEdit:1、设置private void Form1_Load(object sender, EventArgs e){string sql="";lookUpEdit1.Properties.DataSource=sql;//连接数据源lookUpEdit1.Properties.ValueMember="实际要用的字段";//相当于editvaluelookUpEdit1.Properties.DisplayMember="要显示的字段";//相当于textlookUpEdit1.Properties.NullText = null;//清空null值lookUpEdit1.Properties.NullText = "要设置的null值";}2.使用变量 = this.lookupedit.editvalue.tostring(); //是lookupedit.properties.valuemember的值变量 = this.lookupedit.text.trim();//是lookupedit.properties.displaymember 的值eg:把lookupedit中的值绑定到gridviewDepartment department = (Department)this.lookupedit.EditValue;gridview.DataSource = department.Courses;特别值得注意的是,有时候我们要使用lookupedit来实现combox的一些效果,在实际的使用过程中在程序加载的时候会默认的选择第一项,它的设置是:lookupedit.itemindex=0;//选择第一项lookupedit.itemindex=-1;//无选项,此时显示的是nulltext值,其实这个地方只要editvalue==null,lookupedit就显示nulltextlookupedit1.editvalue=value;//自动搜索datasouse,选择与之匹配的值,没有的情况下赋值null ,value的值必须与valuemember的数据类型一致。
DevExpress控件使用详细说明
![DevExpress控件使用详细说明](https://img.taocdn.com/s3/m/a4d70ac3a0116c175f0e485e.png)
界面规范[V1.0]拟制人______________________审核人______________________批准人______________________[二零零七年二月二十六日]日期作者版本备注2007/04/05 范拥华 1.0.0Created by fanco Page 1 of 49 Created on 5/22/2020 4:55:00 PM目录1规范性 (4)2系统颜色、字体、图标 (4)2.1设计参考 (4)3FORM控件布局与间距 (5)3.1设计参考 (5)4对齐设置 (6)4.1设计参考 (6)5BARMANAGER控件 (6)5.1实现效果 (6)6菜单 (7)6.1设计参考 (7)6.2实现效果 (8)6.3操作步骤 (8)6.4实现代码 (10)7工具栏 (10)7.1设计参考 (10)7.2实现效果 (10)7.3操作步骤 (10)8STATUSBARS控件 (11)8.1设计参考 (11)8.2实现效果 (11)8.3操作步骤 (11)9控件 (11)9.1网格控件 (11)9.1.1GridControl (11)9.1.1.1GridControl描述 (11)9.1.1.2GridControl特殊属性 (17)9.1.2GridView (22)9.1.2.1实现效果 (23)9.1.2.2操作步骤 (23)9.1.2.3属性设置 (23)9.1.3CardView (23)9.1.3.1实现效果 (24)9.1.3.2操作步骤 (24)9.1.3.3CarView属性设置 (24)9.1.4BandedGridView (25)9.1.4.1实现效果 (25)9.1.4.2操作步骤 (25)9.1.4.3实现代码 (26)9.1.4.4属性设置 (26)9.1.4.5ColumnEdit列 (26)9.1.5AdvBandedGridView (27)9.1.5.1实现效果 (28)Created by fanco Page 2 of 49 Created on 5/22/2020 4:55:00 PM9.1.5.2操作步骤 (28)9.1.5.3实现代码 (28)9.1.5.4属性设置 (29)9.2X TRA L AYOUT控件 (29)9.2.1特性 (29)9.2.2实现效果 (29)9.2.3操作步骤 (29)9.3X TRA T AB控件 (30)9.3.1设计参考 (30)9.3.2效果及代码 (30)9.4P IVOT G RID控件 (31)9.4.1实现效果 (31)9.4.2操作步骤 (31)9.5X TRA T REE L IST控件 (32)9.5.1实现效果 (34)9.5.2操作步骤 (34)9.5.3实现代码 (36)9.5.4属性设置 (37)9.6L OOK U P E DIT控件 (37)9.6.1实现效果 (37)9.6.2操作步骤 (37)9.7G RID L OOK U P E DIT控件 (39)9.7.1设计参考 (39)9.7.2实现效果 (39)9.7.3操作步骤 (39)9.8G RID P RINT控件 (41)9.8.1实现效果 (42)9.9B UTTON控件 (45)9.9.1设计参考 (45)9.10C HECK B OX控件 (45)9.10.1设计参考 (45)9.11G ROUP B OX控件 (45)9.11.1设计参考 (45)9.12L ABEL控件 (45)9.12.1设计参考 (45)9.13LIST B OX控件 (46)9.13.1设计参考 (46)9.14L IST V IEW控件 (46)9.14.1设计参考 (46)10界面输入控制 (46)10.1设计参考 (46)11弹出子窗体 (46)11.1设计参考 (46)12消息框设置 (47)12.1设计参考 (47)13向导使用原则 (47)13.1设计参考 (47)Created by fanco Page 3 of 49 Created on 5/22/2020 4:55:00 PM14TAB键和快捷键设置 (47)14.1设计参考 (47)15系统响应时间 (48)15.1设计参考 (48)16登陆窗体与主界面 (49)16.1设计参考 (49)17系统帮助设置 (49)17.1设计参考 (49)18附录 (49)1规范性通常界面设计都按Windows界面的规范来设计,即包含“菜单条、工具栏、工具箱、状态栏、滚动条、右键快捷菜单”的标准格式,可以说:界面遵循规范化的程度越高,则易用性相应的就越好。
DevExpress控件使用方法:第一篇gridControl详解
![DevExpress控件使用方法:第一篇gridControl详解](https://img.taocdn.com/s3/m/b364e2dc0342a8956bec0975f46527d3240ca63e.png)
DevExpress控件使用方法:第一篇gridControl详解GridControl(1)层次设计器有五种视图模式,banded gridview多行表头,数据还是一行一组,最靠近数据的表头与数据一一对应;advanced banded gridview 多行表头,数据可以多行一组;cardview 一个卡片是一组数据,其中左侧是标题,右侧是数据;layout view是card view的集合,布局可以自定义(2)视图视图的层次结构视图属性:可通过GridControl.Views访问所有视图。
可通过ColumnView.Columns访问当前视图的所有列(3)设计器(层次设计器中点击Run Designer可调出)设计器有四大功能:①主要功能的设计;②选择外观;③可以选择多个视图,内嵌编辑器的设置;④打印功能的设置① View:(a)Option:OptionsBehavior可以设置行为(是否允许新增行/是否允许删除行/是否允许编辑/是否允许展开所有分组)OptionsCustomization(是否允许排序/分组/过滤/列的移动/列的大小的调整)OptionsDetail(设置从表的属性)、OptionsFilter(过滤属性的设置)OptionsView(显示或隐藏某些东西,比如标题行)(b)AppearancePrint : (行高…)Columns://列的相应的属性FeatureBrowser://设置事件,Grid的绑定、列的绑定(有方法提示),什么都可以设置Layout:设置布局Group Summary Items添加分组统计② Appearance:Appearances可设置行的外观Format Conditions条件样式Style Schemes可设置主题(比较方便)③ RepositoryView Repository设计视图,与①差不多In-place Editor Repository内嵌编辑器④ Printing(4)gridControl:给该列添加组件(如按钮) 三种方法法一:打开设计器(Run Designer),选择左侧Repository,点击In-place Editor Repository(内嵌编辑器),点击Add右侧的下拉菜单,选择你想添加的控件,比如ComboBoxEdit,再在右侧编辑控件的属性,ComboBox的话就可以设置Data下的Items集合,然后点左侧Main里的Columns,点你想在上头添加控件的列,找右侧Data 下的ColumnEdit,点最右边的下拉菜单,点Existing左侧的加号,就能找到你刚才的控件,添加。
DevExpress控件学习
![DevExpress控件学习](https://img.taocdn.com/s3/m/988fb6acf524ccbff12184a7.png)
DevExpress 控件学习1. MDI 窗体首先需要把父窗体设置为MDI 容器:在主窗体放一个xtraTabbedMdiManager ,如:设置MDI 窗体样式;新建一子窗体,可以是DevExpress 的也可以是VS 自带的(VS 自带的最好改下背景色为如下配置,否则会主子窗体颜色不搭配。
)调用子窗体的代码如下:///<summary> ///打开子窗体 ///</summary>///<param name="frm"></param>privatevoid OpenChildForm(Form frm) {int iCount = 0;foreach (var mdiChild inthis .MdiChildren){子窗体关闭按钮的样式多个标签的时候,如何显示标签导航栏MDI 子窗体标签栏的位置if (mdiChild.Text == frm.Text){mdiChild.Activate();iCount++;}}if (iCount> 0)return;frm.MdiParent = this;frm.Show();}privatevoid btnMqClient_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e){Text = e.Link.Item.Caption;if (e.Link.Item.Tag != null){object ooo = e.Link.Item.Tag;}FrmOutLook frm = new FrmOutLook();OpenChildForm(frm);}如果不想关闭子画面,则在子画面窗体上选择属性ControlBox关闭:2.OutLook导航条用法:选中navBarGroup1,在属性栏中选择GroupStyle,可以调整图标显示样式。
界面控件DevExpress使用教程:Dashboard–自定义导出
![界面控件DevExpress使用教程:Dashboard–自定义导出](https://img.taocdn.com/s3/m/23b57f2d492fb4daa58da0116c175f0e7cd119af.png)
界⾯控件DevExpress使⽤教程:Dashboard–⾃定义导出DevExpress技术交流群3:700924826 欢迎⼀起进群讨论DevExpress拥有.NET开发需要的所有平台控件,包含600多个UI控件、报表平台、DevExpress Dashboard eXpressApp 框架、适⽤于Visual Studio的CodeRush等⼀系列辅助⼯具。
DevExpress Dashboard附带许多导出设置/⾃定义选项,在本⽂中,将为⼤家介绍Dashboard数据导出引擎的最新增强功能。
v20.1和v20.2随附以下Dashboard导出增强功能:扩展导出⾃定义API使⽤XRControls(报告控件)导出最常⽤/受欢迎的Dashboard项⽬⾃定义Export Customization API由于DevExpress Dashboard附带⾼级⾃定义选项,因此最终⽤户可能希望在输出⽂档/导出⽂件中显⽰或导出⾃定义Dashboard设置。
技术团队增强了导出⾃定义API,以解决此使⽤情况。
要⾃定义输出⽂档,您必须使⽤DevExpress Dashboard的DashboardControl.CustomExport事件。
此事件的数据类公开CustomExportEventArgs.GetPrintableControl和CustomExportEventArgs.GetPrintableControls⽅法(以帮助获取可打印控件)。
如上所述,在导出期间扩展了各个Dashboard项⽬与⾃定义相关的功能,现在您可以维护应⽤于的⾃定义设置。
v20.1包括对图表、散点图、范围过滤器和Gauge dashboard项⽬的⽀持;在v20.2中,扩展了对Pie项⽬的⽀持。
假设在WinForms Dashboard中有⼀个带有⾃定义总计的Pie Dashboard项⽬,如果使⽤标准导出选项,则导出引擎将产⽣以下结果:如您所见,导出的Pie项仅包含默认设置。
DevExpress控件属性说明
![DevExpress控件属性说明](https://img.taocdn.com/s3/m/c13a9eef6e1aff00bed5b9f3f90f76c661374c0c.png)
DevExpress控件属性说明TcxGridAlign设置控件的排列方式。
alBottom:相对于父容器为底端对齐排列。
alClient:相对于父容器为剩余部分完全覆盖排列。
alCustom:相对于父容器为自定义对齐排列。
alLeft:相对于父容器为左端对齐排列。
alNone:默认对齐排列。
alRight:相对于父容器为右端对齐排列。
alTop:相对于父容器为顶端对齐排列。
AlignWithMargins设置控件与其父容器之间的间隙。
Anchors设置控件的对齐方式。
akLeft当其父容器大小改变时,控件左端相对于父容器左端的位置不变。
akTop当其父容器大小改变时,控件顶端相对于父容器顶端的位置不变。
akRight当其父容器大小改变时,控件右端相对于父容器右端的位置不变。
akBottom当其父容器大小改变时,控件底端相对于父容器底的位置不变。
BevelEdges设置控件的是否显示斜面。
beLeft控件左端。
beTop控件顶端。
beRight控件右端。
beBottom控件底端。
BevelInner设置斜面内部的样式。
bvLowered:下凹式。
bvNone:无样式。
bvRaised:凸起式。
如有你有帮助,请购买下载,谢谢!bvSpace:间隔式。
BevelKind设置斜面样式。
bkFlat:平坦式。
bkNone:无样式。
bkSoft:柔和式。
bkTile:凸起式。
BevelOuter设置斜面外部样式。
bvLowered:下凹式。
bvNone:无样式。
bvRaised:凸起式。
bvSpace:间隔式。
BevelWidth设置斜面宽度。
BorderStyle设置边框样式。
cxcbsDefault:默认样式。
cxcbsNone:无样式。
BorderWidth设置边框宽度。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
属性中类型,当是 Glyph 时,可以设置按钮上文字(caption 属性),其他类型为默认包含的一些带 图片的按钮. ,
对于按钮的事件,为 ButtonClick
在按钮的点击事件内部,可以通过事件参数 e 获取当前点击的按钮信息,从而做出判断, 执 行不同的代码.
目录
1.EF.dll 中的 Form 2 .EF.DLL 内的自定义控件 2.1 控件通用的一些属性 2.2 EFDevTextEdit 单行文本框 2.3 EFDevMemoEdit 2.4 EFDevSpinEdit 数值输入控件 2.5 EFDevButtonEdit 带按钮的文本框 2.6 EFDevCalcEdit 2.7 EFDevDateEdit 带计算器的输入框 带日历选择的日期输入控件 * 多行文本编辑框 2 3 3 4 7 8 9 10 10 11 11 12 13 13 16 16 17 17 18 19 19 19 19 19 20 20 20 20 21 21 21 21 22 22 28 28 29 29 30
2.EF.DLL 内的自定义控件
添加 EF.DLL [工具箱中添加选项卡,选择工具项,浏览找到 EP 下的 EF.dll,点击确定。] 常用的有:标签用 EFLable , 按钮用 EFButton ,平板用 EFPanel , 分组框控件用 EFGroupBox,选项卡控件 EFSkinTabControl 单行文本输入框用 EFDevTextEdit ,可多行输入时用 EFDevMemoEdit 日期控件用 EFDevDateEdit , 可下拉选择的用 EFDevLookUpEdit 选择框用 EFDevCheckEdit, 单选用 EFDevRadioGroup 文本输入框后面紧跟个按钮,可添加按钮事件时用 EFDevButtonEdit 只能输入数值,且可通过上下滚动按钮调整数值大小时用 EFSpinEdit 表格控件用 EFDevGrid ,拖放一个 EFDevGrid 在上面新建一个 GridView 为了方便控制(一改百改) ,格式统一(看起来一样)建议首选 EF 下的自定义控件。 这次新增的以 EFDev 开头的: (主要继承自 DevExpress 的控件,具体更详细的使用可参照 DevExpress 的帮助文档, 或 DevExpress 的官方网站 /Support/Center/) EFDevLookUpEdit 可多列显示 EFDevComboBoxEdit 下拉框(只能单列.只含显示值) EFDevSpinEdit 数量(可定义整数,或小数) EFDevButtonEdit 带按钮,可自定义按钮点击事件 EFDevCalcEdit 金额(弹出类似计算器的弹出框) EFDevDateEdit 日期.时间.可为空 EFDevTimeEdit 时间输入框,类似 SpinEdit 带上下翻动的按钮 EFDevCheckEdit 选择框 EFDevTextEdit 文本框 EFDevMemoEdit 多行的 textEdit EFDevRadioGroup 一组 RadioButton,可添加多项,只能选择一个. EFDevTreeList 可以以 tree 或者 grid 的形式显示数据 EFDevGrid 列表(自定义列宽,列排序,列编辑控件)
如ห้องสมุดไป่ตู้是期望在窗体显示时,光标停留在某一个输入框中:
处理,文本框内的回车事件
选中文本框内所有显示文字.
控制文本框内字符大小写.
用作密码输入框.
控制最大长度.
控制输入内容.
Mask 的属性,BeepOnError 当用户输入不满足 EditMask 要求时,是否发 beep 声. EditMask 与 MaskType 配合使用,当 MaskType 是 DateTime,Numeric 时,EditMask 为指 定的相应类型.可从 MSDN 获取更详细信息,当 MaskType 是 RegEx 时,EditMask 为具体值 类似\d+(\R.\d{0,2})? 等.
属性:
2.4 EFDevSpinEdit 数值输入控件
数值输入框.如下.由一个 EFDevTextEdit 和一个上下翻动的按钮组成,用户可点击按钮调整 值.
简单说明: 1.只能输入数值型(整数或者小数,包含负数) 2.可控制可输入的最大值和最小值(MaxValue,MinValue) 3.控制最大长度(MaxLength) 4.控制是否可输入小数(IsFloatValue) 5.可控制点击按钮式,增加或减少的值大小(Increment 属性) 主要属性如下图所示:
控件正编辑时的显示格式(Properties.EditFormat 属性) 控制输入内容格式( Properties.Mask 属性,该属性是用来在编辑状态下, 控制用 户输入,比如日期,数值,正则表达式等 . 如果 eMaskAsDisplayFormat 设为 True 才会把 Mask 下的格式设置用作显示格式.否则只在编辑时有效)
2.2 EFDevTextEdit 单行文本框 *
单行的文本编辑框,(最普通,最常用的文本输入框)
简单说明 : 编辑时,右键弹出菜单,包含与剪贴板相关操作 (Copy,Cut,Paste 方法) ; 撤 销最后一次操作(UnDo 方法).也可自定义右键弹出菜单(Properties.ContextMenuStrip 属性 ) 控制光标位置以及选择的文字 (SelectionStart, SelectionLength, SelectedText, SelectAll and DeselectAll 方法); 控制最大允许输入字符长度(Properties.MaxLength 属性) 控制输入字符的大小写(Properties.CharacterCasing 属性) 控制替代字符,用作密码输入框等(Properties.PasswordChar) 格式化输入内容的显示格式(Properties.DisplayFormat 属性)
Font ForeColor Location Size NullText
控制控件上文字字体 字体颜色 相对父容器,控件的左上角坐标位置 控件当前的大小 当控件 EditValue 为 null 时,显示的值.
对于 EFDev***的控件,属性中有 Properties 。对于一些特殊的属性都在这个下面。如下图
2.8 EFDevTimeEdit 时间输入控件 2.9 EFDevCheckEdit 选择框 2.10 EFDevRadioGroup 2.12 EFDevLookUpEdit 2.13.1 通常步骤. 2.13.2 获取值,设置值 常用代码。 2.13.3 对 EFDevGrid 封装的属性: 2.13.4 封装的一些事件 2.13.4 封装的一些方法 2.13.5 其他一些会用到的属性 2.13.5.1 列冻结(Fixed 属性) 2.13.5.2 行变色(GridView 的 RowStyle 事件) 2.13.5.3 单元格变色(GridView 的 RowCellStyle 事件) 2.13.5.4 列控件(列的 ColumnEdit 属性) 2.13.5.5 一列用不同控件(GridView 的 CustomRowCellEdit 事件) 2.13.5.6 单元格验证 (GirdView 的 ValidatingEditor 事件) 2.13.5.7 保存配置 (通过封装的 SaveLayout 和 LoadLayout 方法) 2.13.5.8 列汇总(Column 下的 SumaryItem 属性) 2.13.5.9 不绑定列的使用(Column 的 UnBondType 属性) 2.13.5.10 设置样式(通过 gridview 的 Format Condition 属性 ) 2.13.5.11 选择多行( OptionsSelection 下的 MultiSelect 属性) 2.13.5.12 合并单元格(列的 OptionsColumn 下的 AllowMerge 属性) 2.13.5.13 设置单元格可编辑属性 (GridView 的 ShowingEditor 事件) 3 .LayoutControl 没封装在 EF.dll 内的一个布局控件 3.1 如何拖放,调整大小 3.2 控制 Text 显示,位置,大小 3.3 保存布局 3.4 Group 上显示能控制收缩的 button 单选框的集合控件 可以多列下拉的选择框 2.11 EFSkinTabControl ,EFGroupBox, EFPanel 2.13 EFDevGrid 列表控件
2.1 控件通用的一些属性
类似 EFDev***Edit 都有一个共同的基类,所以大多属性都是通用的. 例如: Name 控件名称 Text 控件上的字符串 EditValue 控件的实际值(EFDev**Edit 都有此属性) Anchor 控件锚钉(控制控件与父容器边距相对位置是否固定) Dock 控件填充(控件的某边与父容器重合) Enable 控件是否可用 Visible 控件是否显示 ToolTip 控件提示信息(鼠标停留控件上时,显示提示信息) Cursor 鼠标在控件上方时,光标的样式
EF.DLL 的介绍 1.EF.dll 中的 Form
结构如下:
如上图所示--常用的是 EFForm 1) 继承 :父类有的,子类都会继承 ( 如 EFFormMain 中的东西,到了 EFForm 中,原来使用 EFFormMain 的对象调用的,现在使用 EFForm 的对象都可以调用, EFFormMasterDetail 类 似) 2)简单点如下: 可认为 EFFormMain 是基类,空的,看上去什么都没有, EFForm 为它添加了下方的 F1--F12 按钮栏,可以通过授权控制按钮是否显示. EFFormMasterDetail 是在 EFForm 上添加了一个 Panel 和一个 TabControl 控件 EFFormListDetail 是添加了一个 LayoutControl 并定义了上中下(查询条件,列表,详细)的格 局 EFFormMasterDetail2 是继承自 EFFormMasterDetail 的一个未完成的画面 .定义了工具栏上按 钮的操作对应的默认实现 EFFormListDetail2 是继承自 EFFormListDetail 的一个未完成的画面 . 定义了工具栏上按钮 的操作对应的默认实现 一般情况下窗体都直接继承自 EFForm