DevExpress控件使用汇总

合集下载

devexpress gallerycontrol 用法

devexpress gallerycontrol 用法

devexpress gallerycontrol 用法一、引言DevExpress GalleryControl 是一款强大的图像展示控件,适用于在应用程序中展示大量的图像。

本文档将详细介绍 GalleryControl 的用法,包括其基本概念、安装和使用方法、属性设置、事件处理等。

二、基本概念1. GalleryControl:DevExpress GalleryControl 控件用于在应用程序中展示一组图像,用户可以通过控件的导航器浏览图像。

2. 图像集合:GalleryControl 需要一个图像集合来展示图像,这个集合可以是本地文件、网络资源或其他数据源。

三、安装和使用方法1. 下载和安装:从 DevExpress 官方网站下载 GalleryControl 控件,并按照安装向导进行安装。

2. 添加控件到项目:将 GalleryControl 控件添加到您的Visual Studio 项目中。

3. 配置图像集合:通过编程或数据绑定方式将图像资源添加到GalleryControl 中。

4. 设置属性:您可以设置 GalleryControl 的各种属性,如标题、背景色、边框颜色等。

5. 运行程序:构建项目并运行,检查 GalleryControl 是否正常工作。

四、属性设置以下是 GalleryControl 的一些常用属性及其说明:1. Images:用于设置图像集合。

2. AllowPaging:控制是否允许分页浏览图像。

3. ShowNavigationButtons:是否显示导航器按钮。

4. ViewType:指定展示视图,如 SingleView 或 ZoomView。

5. BorderStyle:设置控件边框样式。

6. ScrollBarsEnabled:是否启用滚动条。

7. NavigateButtonsVisibility:导航器按钮的可见性。

8. Title:控件的标题。

DevExpress控件使用手册

DevExpress控件使用手册

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 控件用法

devexpress 控件用法DevExpress是一个强大的控件库,专为.NET开发人员设计。

它提供了一系列易于使用且功能丰富的控件,可以帮助开发人员更快速地构建各种类型的应用程序,从基本的桌面应用程序到复杂的企业级解决方案。

在本文中,我们将以中括号为主题,一步一步地介绍DevExpress控件的用法。

第一步:准备工作在开始使用DevExpress控件之前,需要进行一些准备工作。

首先,您需要在开发计算机上安装DevExpress控件库。

您可以从DevExpress官方网站下载并安装控件库的最新版本。

安装完成后,您需要在.NET项目中添加对DevExpress控件库的引用。

第二步:控件的基本用法DevExpress控件库提供了多个控件类别,包括界面控件、数据控件、布局控件等。

每个类别都包含多个具体的控件类型。

在使用控件之前,您需要根据项目需求选择合适的控件类型。

界面控件是DevExpress控件库中最常用的控件之一。

它们用于构建应用程序的用户界面。

常用的界面控件包括按钮、文本框、标签、下拉框等。

要使用界面控件,您需要在设计窗体或用户控件时将其拖放到设计器中,并设置其属性和事件处理程序。

数据控件用于显示和操作数据。

它们可以从数据库、文件或其他数据源中检索数据,并将其显示在界面上。

常用的数据控件包括表格控件、列表控件和树控件等。

使用数据控件时,您可以通过绑定数据源和设置数据过滤条件来配置它们。

布局控件用于组织界面上的其他控件。

它们提供了一种简便的方法来排列和调整控件的位置和大小。

常用的布局控件包括面板、分组框和标签页等。

使用布局控件时,您可以将其他控件放置在布局控件的容器中,并调整它们的布局样式。

第三步:控件的高级用法在掌握了DevExpress控件的基本用法后,您可以开始使用它们的高级功能。

DevExpress控件提供了许多高级功能,可以提高应用程序的性能和用户体验。

一个常见的高级用法是自定义控件的外观和样式。

DevExpress控件使用说明

DevExpress控件使用说明

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控件的GridControl控件小结

DevExpress控件的GridControl控件小结

目录1. DevExpress控件组中的GridControl控件不能使横向滚动条有效。

(2)2. 使单元格不可编辑。

(2)3. 没有下拉滚动条事件怎么办? (2)4. 获取选定行,指定列单元格的内容 (2)5. 去除"Drag a Column Header Here To Group by that Column" (3)6. 在gridcontrol中添加checkbox复选框 (3)7. 单元格合并问题 (4)8. gridView 奇行与偶行交替变色 (4)9. girdView在第一列显示行号 (4)10. 选中某列进行排序时,如何让该列高亮显示 (5)11. XtraGrid冻结列 (5)(由于开始使用DevExpress控件了,所以要点滴的记录一下)1.DevExpress控件组中的GridControl控件不能使横向滚动条有效。

现象:控件中的好多列都挤在一起,列宽都变的很小,根本无法正常浏览控件单元格中的内容。

解决:gridView1.OptionsView.ColumnAutoWidth属性是true,即各列的宽度自动调整,你把它设成false,就会出现了。

2.使单元格不可编辑。

gridcontrol -->gridview -->OptionsBehavior -->Editable=false3.没有下拉滚动条事件怎么办?现象:因为需要加载大数据量数据,所以不能一次把所有数据读入datatable进行绑定,所以决定在用户进一步浏览数据时进行数据的实时加载工作,就是每当用户拉动滚动条时,多加载一些数据进入datatable.没有找到合适的滚动条事件,于是用这个事件代替了,非常合适我的需求.TopRowChanged事件.4.获取选定行,指定列单元格的内容private string GetSelectOID(){int[] pRows = this.gridView1.GetSelectedRows();if (pRows.GetLength(0) > 0)return gridView1.GetRowCellValue(pRows[0], mOIDFiledName).ToString ();elsereturn null;}//mOIDFiledName为要获取列的列名5.去除"Drag a Column Header Here To Group by that Column"属性Gridview->Option View->Show Group Panel=false,就好了6.在gridcontrol中添加checkbox复选框gridview->run designer->columns->选择要变成复选框的那一列->column edit->new(在这里可以选择很多类型)加载checkbox数据时,费了一点时间,checkbox的复选框怎么点击,一失去焦点是,选择的操作就无效了,问题就出在datatable的绑定上了,一定要绑定一个布尔的类型.代码是这样滴!private void FrmCreateLegend_Load(object sender, EventArgs e){IFeatureLayer pFeatureLayer;IDataset pDataset;string pName;DataTable pDatatable = new DataTable();pDatatable.Columns.Add("图层名称", System.Type.GetType("System.String"));pDatatable.Columns.Add("选择", System.Type.GetType("System.Boolean"));DataRow pDataRow;object[] rowArray = new object[2];for (int i = 0; i < mFeatureLayers.Count; i++){pDataRow = pDatatable.NewRow();pFeatureLayer = mFeatureLayers[i] as IFeatureLayer;rowArray[0] = ;rowArray[1] = false;pDataRow.ItemArray = rowArray;pDatatable.Rows.Add(pDataRow);}this.gridMark.DataSource = pDatatable;this.gridMark.Refresh();}注意:创建的datatable的列名一定要和gridview中的列的fieldname属性值是一个名字,不然,你会发现添加了和你绑定的datatalbe一样多的行,可是行里面却没有内容的.第三方控件GridControl 使用技巧自开始接触此第三方控件至今三个月,经常使用,三个月中碰到一些问题,一一解决,如是现在整理使用的内容:7.单元格合并问题(1)窗体加载时ceMerging.Checked = gridView1.OptionsView.AllowCellMerge;(2)添加事件private void ceMerging_CheckedChanged(object sender, EventArgs e){gridView1.OptionsView.AllowCellMerge = ceMerging.Checked;}8.gridView 奇行与偶行交替变色this.gridView1.OptionsView.EnableAppearanceEvenRow = true;this.gridView1.OptionsView.EnableAppearanceOddRow = true;this.gridView1.Appearance.EvenRow.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));eBackColor = true;this.gridView1.Appearance.OddRow.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));eBackColor = true;9.girdView在第一列显示行号//调整第一列的宽度this.gridView1.IndicatorWidth = 40;//添加监听事件this.gridView1.CustomDrawRowIndicator += new DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventHandler(this.gridView1_Custom DrawRowIndicator);//事件private void gridView1_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e){if (.IsRowIndicator && e.RowHandle >= 0){.DisplayText =Convert.ToString(Convert.ToInt32(e.RowHandle.ToString())+1);}}10.选中某列进行排序时,如何让该列高亮显示在gridView1的"EndSorting"事件中加入以下代码private void gridView1_EndSorting(object sender, EventArgs e){Color clr = gridView1.Appearance.Row.BackColor;foreach (DevExpress.XtraGrid.Columns.GridColumn dc in gridView1.Columns){if (dc.VisibleIndex == gridView1.SortedColumns[0].VisibleIndex){dc.AppearanceCell.BackColor = Color.Red;}else{dc.AppearanceCell.BackColor = clr;}}}11.XtraGrid冻结列XtraGrid的GridView中的Columns里面有Fixed属性Devpress.XtraGrid.GridControl1,增加新行用InitNewRow事件,给新行某字段赋值。

DevExpress-GridView使用大全

DevExpress-GridView使用大全

DevEx‎p ress‎G ridV‎i ew使用‎大全一、Combo‎BoxEd‎it1、如何使其不‎可编辑TextE‎ditSt‎y le设置为:Disab‎leT ex‎t Edit‎o r2、如何设置鼠‎标为手形Curso‎r设置为:Hand二、GridC‎o ntro‎l1、如何解决单‎击记录整行‎选中的问题‎View->Optio‎nsBeh‎a vior‎->Edito‎r Show‎M ode设置为:Click‎2、如何新增一‎条记录(1)、gridV‎iew.AddNe‎w Row()(2)、实现gri‎d View‎_Init‎N ewRo‎w事件3、如何解决G‎ridCo‎n trol‎记录能获取‎而没有显示‎出来的问题‎gridV‎iew.popul‎a teCo‎lumns‎();4、如何让行只‎能选择而不‎能编辑(或编辑某一‎单元格)(1)、View->Optio‎nsBeh‎avior‎->Edito‎rShow‎M ode设置为:Click‎(2)、View->Optio‎nsBeh‎avior‎->Edita‎b le 设置为:false‎5、如何禁用G‎ridCo‎n trol‎中单击列弹‎出右键菜单‎设置Run‎Desig‎n->Optio‎nsMen‎u->Enabl‎e Colu‎mnMen‎u设置为:false‎6、如何隐藏G‎ridCo‎n trol‎的G rou‎p Pane‎l表头设置Run‎Desig‎n->Optio‎nsVie‎w->ShowG‎roupP‎anel设置为:false‎7、如何禁用G‎ridCo‎n trol‎中列头的过‎滤器过滤器如下‎图所示:设置Run Desig‎n->Optio‎nsCus‎t omiz‎a tion‎->Allow‎F ilte‎r设置为:false‎8、如何在查询‎得到0条记‎录时显示自‎定义的字符‎提示/显示如图所示:方法如下://When no Recor‎d s Are Being‎Displ‎a yedpriva‎t evoid gridV‎i ew1_‎C usto‎m Draw‎E mpty‎F oreg‎r ound‎(objec‎t sende‎r,Custo‎m Draw‎E vent‎A rgs e){//方法一(此方法为G‎r idVi‎e w设置了‎数据源绑定‎时,可用)Colum‎n View‎colum‎n View‎= sende‎r as Colum‎n View‎;Bindi‎n gSou‎r ce bindi‎n gSou‎r ce = this.gridV‎i ew1.DataS‎o urce‎asBindi‎n gSou‎r ce;if(bindi‎n gSou‎r ce.Count‎== 0){strin‎g str = "没有查询到‎你所想要的‎数据!";Font f = new Font("宋体", 10, FontS‎t yle.Bold);Recta‎n gle r = new Recta‎n gle(e.Bound‎s.Top + 5, e.Bound‎s.Left + 5,e.Bound‎s.Right‎- 5, e.Bound‎s.Heigh‎t - 5);e.Graph‎i cs.DrawS‎t ring‎(str, f, Brush‎e s.Black‎, r);}//方法二(此方法为G‎r idVi‎e w没有设‎置数据源绑‎定时,使用,一般使用此‎种方法)if (this._flag‎){if (this.gridV‎i ew1.RowCo‎u nt == 0){strin‎g str = "没有查询到‎你所想要的‎数据!";Font f = new Font("宋体", 10, FontS‎t yle.Bold);Recta‎n gle r = new Recta‎n gle(e.Bound‎s.Left + 5, e.Bound‎s.Top + 5, e.Bound‎s.Width‎-5, e.Bound‎s.Heigh‎t - 5);e.Graph‎i cs.DrawS‎t ring‎(str, f, Brush‎e s.Black‎, r);}}}9、如何显示水‎平滚动条?设置thi‎s.gridV‎iew.Optio‎n sVie‎w.Colum‎n Auto‎W idth‎= false‎;10、如何定位到‎第一条数据‎/记录?设置this.gridV‎iew.MoveF‎irst()11、如何定位到‎下一条数据‎/记录?设置this.gridV‎iew.MoveN‎e xt()12、如何定位到‎最后一条数‎据/记录?设置this.gridV‎iew.MoveL‎a st()13、设置成一次‎选择一行,并且不能被‎编辑this.gridV‎i ew1.Focus‎R ectS‎t yle =DevEx‎p ress‎.XtraG‎r id.Views‎.Grid.DrawF‎o cusR‎e ctSt‎y le.RowFo‎c us; this.gridV‎i ew1.Optio‎n sBeh‎a vior‎.Edita‎b le = false‎;this.gridV‎i ew1.Optio‎n sSel‎e ctio‎n.Enabl‎e Appe‎a ranc‎e Focu‎s edCe‎l l = false‎;14、如何显示行‎号?this.gridV‎i ew1.Indic‎a torW‎i dth = 40;//显示行的序‎号priva‎t evoid gridV‎i ew1_‎C usto‎m Draw‎R owIn‎d icat‎o r(objec‎t sende‎r, RowIn‎d icat‎o rCus‎t omDr‎a wEve‎n tArg‎s e) {if (.IsRow‎I ndic‎a tor && e.RowHa‎n dle>=0){.Displ‎a yTex‎t = (e.RowHa‎n dle + 1).ToStr‎i ng();}}15、如何让各列‎头禁止移动‎?设置gri‎dView‎1.Optio‎n sCus‎t omiz‎a tion‎.Allow‎C olum‎n Movi‎n g = false‎;16、如何让各列‎头禁止排序‎?设置gri‎dView‎1.Optio‎n sCus‎t omiz‎a tion‎.Allow‎S ort = false‎;17、如何禁止各‎列头改变列‎宽?设置gri‎dView‎1.Optio‎n sCus‎t omiz‎a tion‎.Allow‎C olum‎n Resi‎z ing = false‎;18、19、20、21、22、23、24、25、26、三、navBa‎r Cont‎r ol1、如何在每一‎个n avB‎arGro‎u p里添加‎自己想要的‎控件设置Gro‎u pSty‎le:Contr‎o lCon‎t aine‎r2、如何设置n‎a vBar‎G roup‎有滚动条设置Ski‎n Expl‎o rerB‎a rVie‎w Scro‎llSty‎l e:Scrol‎l Bar3、如休把na‎v BarG‎r oup设‎置成如下样‎式如图所示:设置nav‎BarGr‎o up的P‎a intS‎t yleN‎a me属性‎为:S kinN‎a viga‎t ionP‎a ne四、toolT‎ipCon‎t roll‎e r效果图如下‎:1、如何设置显‎示的时间长‎短设置thi‎s.toolT‎i pCon‎t roll‎e r1.AutoP‎o pDel‎a y = 2000;2、如何在屏幕‎上显示如上‎图所示的效‎果ToolT‎i pCon‎t roll‎e rSho‎w Even‎t Args‎args = this.toolT‎i pCon‎t roll‎e r1.Creat‎e Show‎A rgs(); this.toolT‎i pCon‎t roll‎e r1.SetTo‎o lTip‎(this.sbtnY‎e s, "请选择一条‎记录!");this.toolT‎i pCon‎t roll‎e r1.SetTi‎t le(this.sbtnY‎e s, "提示");this.toolT‎i pCon‎t roll‎e r1.SetTo‎o lTip‎I conT‎y pe(this.sbtnY‎e s,DevEx‎p ress‎.Utils‎.ToolT‎i pIco‎n Type‎.Excla‎m atio‎n);this.toolT‎i pCon‎t roll‎e r1.ShowB‎e ak = true;this.toolT‎i pCon‎t roll‎e r1.ShowS‎h adow‎= true;this.toolT‎i pCon‎t roll‎e r1.Round‎e d = true;this.toolT‎i pCon‎t roll‎e r1.ShowH‎i nt("请选择一条‎记录!", "提示"); args.ToolT‎i p = "请选择一条‎记录!";args.Title‎= "提示";3、如何设置边‎框的颜色this.toolT‎i pCon‎t roll‎e r1.Appea‎r ance‎.Borde‎r Colo‎r = Color‎.Red;五、TextE‎d it1、如何设置T‎e xtEd‎i t为多行‎,可拉伸设置Tex‎t Edit‎的Prop‎e rtit‎y->AutoH‎e ight‎为:False‎六、Layou‎t Cont‎r ol1、如何设置L‎a yout‎Item为‎隐藏设置Lay‎o utIt‎e m.Visib‎ility‎= Never‎七、TreeL‎ist1、如何隐藏T‎r eeLi‎s t的列头‎设置Tre‎e List‎r的Opt‎ionsV‎iew的S‎h owCo‎lumns‎属性为:False‎2、如何八、Pictu‎r eEdi‎t1、如何禁止P‎ictur‎e Edit‎的右键菜单‎?设置Pic‎t ureE‎d it的P‎r oper‎t ies->ShowM‎enu为:false‎九、TreeL‎ist1、如何让Tr‎e eLis‎t的每个结‎点高亮显示‎?效果如下:代码如下:priva‎t evoid treeL‎i st1_‎C usto‎m Draw‎N odeC‎e ll(objec‎t sende‎r,DevEx‎p ress‎.XtraT‎r eeLi‎s t.Custo‎m Draw‎N odeC‎e llEv‎e ntAr‎g s e){TreeL‎i st node = sende‎r as TreeL‎i st;if (e.Node == node.Focus‎e dNod‎e){e.Graph‎i cs.FillR‎e ctan‎g le(Syste‎m Brus‎h es.Windo‎w, e.Bound‎s);Recta‎n gle r = new Recta‎n gle(e.EditV‎i ewIn‎f o.Conte‎n tRec‎t.Left,e.EditV‎i ewIn‎f o.Conte‎n tRec‎t.Top,Conve‎r t.ToInt‎32(e.Graph‎i cs.Measu‎r eStr‎i ng(e.CellT‎e xt,treeL‎i st1.Font).Width‎+ 1),Conve‎r t.ToInt‎32(e.Graph‎i cs.Measu‎r eStr‎i ng(e.CellT‎e xt,treeL‎i st1.Font).Heigh‎t));e.Graph‎i cs.FillR‎e ctan‎g le(Syste‎m Brus‎h es.Highl‎i ght, r);e.Graph‎i cs.DrawS‎t ring‎(e.CellT‎e xt, treeL‎i st1.Font, Syste‎m Brus‎h es.Highl‎i ghtT‎e xt, r);e.Handl‎e d = true;}}//============================================================================ //===============================以下内容为‎收集=============================== //============================================================================一、改变gri‎d的样式。

DevExpress控件使用大全

DevExpress控件使用大全

第三方控件使用大全一、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控件运用

5表示当前是第五条记录,12表示总记录条数 OptionsBehavior Editable/ReadOnly 不可编辑状态
12
5. GridControl
LayoutView.OptionsCarouselMode 属性,包括了椭圆的螺旋角和转动角:
13
5.GridControl
CardView
11
5. GridControl
LayoutView
多种卡片布局,可以通过 LayoutView.OptionsView.ViewMode 属性设置 1.单张卡片 2.单行 3.单列 4.多行 5.多列 6.Carousel LayoutView.OptionsMultiRecordMode.MaxCardRows LayoutView.OptionsMultiRecordMode.MaxCardColumns 卡片的对齐方式LayoutView.OptionsView.ContentAlignment 属性卡片内容对齐 LayoutViewOptionsView.CardsAlignment 卡片对齐 Carousel 布局 参数可以通过 LayoutView.OptionsCarouselMode 属性设置 CardCaptionFormat 指定卡片标题的模式。 在默认情况下,此属性的值是“ Record N {0}”。 意思是卡片标题显示后接记录号的“Record N ”字符串。 也可以 强制使卡片视图显示卡片内的字段值。 例如,把 CardCaptionFormat 属性设置 为 “{3} ” 则显示第二列的值 默认为下图
DefaultLookAndFeel 皮肤控件
5
3.BarManager 、NavBarControl

DevExpress控件使用经验总结

DevExpress控件使用经验总结

DevExpress控件使用经验总结DevExpress是一个比较有名的界面控件套件,提供了一系列的界面控件套件的DotNet 界面控件。

本文主要介绍我在使用DevExpress控件过程中,遇到或者发现的一些问题解决方案,或者也可以所示一些小的经验总结。

总体来讲,使用DevExpress控件,可以获得更高效的界面设计以及更美观的效果。

本文主要通过给出相应的例子以及相关界面效果来说明问题,希望大家能够从中获得好的知识和思路。

1、应用Office2007和Office2010的界面主题开始使用DevExpress的时候,发现程序界面效果好像没有出现Office的样式,只是有几种可怜的内置效果。

经过查找发现需要在入口函数里面添加几行代码,如下所示。

erSkins.OfficeSkins.Register();erSkins.BonusSkins.Register();DevExpress.Skins.SkinManager.EnableFormSkins();指定界面主题效果,可以通过代码设置,指定主题的名称即可。

UserLookAndFeel.Default.SetSkinStyle("Office 2010 Blue");或者在界面中添加一个控件 DefaultLookAndFeel,设置其对应的界面效果即可实现整个设计时刻和运行时刻的界面效果,如下图所示。

2、Properties属性DevExpress很多控件的一般属性,会放置在该属性下面,如ComboBox下拉列表的属性操作如下private void InitDictItem(){this.txtManufacture.Properties.Items.Clear();this.txtManufacture.Properties.Items.AddRange(DictItemUtil.GetDictByDictType("供货商"));}这是一个很丰富属性的归类,很多常用的属性基本上都囊括在这里了,如果你是从传统界面转换过来DevExperss开发,找不着相关的属性,尽管来这里看看。

DevExpress用法总结大全

DevExpress用法总结大全

DevExpress用法总结大全使用DevExpress控件来做项目开发已经有很长一段时间了,在摸索开发到客户苛刻要求的过程中,其中碰到过很多问题需要解决的,随着一个个问题的解决,也留下很多对DevExpress控件的使用经验及教训,综合设计到的多个项目的问题,对这些开发常用的要点进行总结,方便别人也方便自己。

提供这些解决方法,一个可以快速应用到项目中,二个也可以作为对界面开发的更高要求对待自己的项目,使得自己的东西更加完美,更加受欢迎。

1、 GridControl控件的数据显示的样式控制DevExpress控件开发常用要点总结如上两图所示,我们有时候需要控制列表访问过的颜色变化,或者是时间显示格式等内容,这个时候设置GridView的RowCellStyle即可实现,如下所示。

this.gridView1.RowCellStyle += new DevExpress.XtraGrid.Views.Grid.RowCellStyleEventHandler(gridView1_RowCellStyle);void gridView1_RowCellStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowCellStyleEventArgs e){if (e.Column.FieldName == "PublishType"){if (e.CellValue != null && e.CellValue.ToString() == "中介"){e.Appearance.BackColor = Color.DeepSkyBlue;e.Appearance.BackColor2 = Color.LightCyan;}}if (e.Column.FieldName == "PublishTime"){e.Column.DisplayFormat.FormatString = "yyyy-MM-dd HH:mm:ss";}if (e.Column.FieldName == "Title"){string id = this.winGridViewPager1.gridView1.GetRowCellDisplayText(e.RowHandle, "Id");if (historyDict.ContainsKey(id)){e.Appearance.BackColor = Color.DeepSkyBlue;e.Appearance.BackColor2 = Color.LightCyan;}}}2、在LayoutControl布局中固定控件宽度DevExpress控件开发常用要点总结固定宽度后的真实效果。

DevExpress使用技巧

DevExpress使用技巧

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) &raquo;&raquo;本文由轻舞肥羊发表于大富翁论坛转载请标明出处,谢谢声明:以下代码请看懂再使用,本人水平有限,发现bug希望提出,让我们共同改进2004-1-10 17:06:00查看评语&raquo;&raquo;&raquo;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控件汉化代码和使用方法

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控件文档
AutoPostBack="False"EnableViewState="False">
<ImageWidth="137px"Height="48px"Url="Images/Search/normal.png"UrlHottracked="Images/Search/hover.png"UrlPressed="Images/Search/pressed.png"/>
1.pcPDFGrade.ActiveTabIndex= 0判断默认显示哪个标签
2.pcPDFGrade.TabPages[1].Visible =true;判断是否显示标签页
3.pcPDFGrade.ShowTabs=false;判断是否显示所有标签头
DX11.1:Data
ASPxGridView
2.AllowSelectItem是否可以选中内容
3.AutoPostBack是否回传
4.AutoCollapse是否可以全部展开
5.EnableHotTrack经过菜单时是否变色
6.EnableAnimation是否启用动画效果
参考网址:/ASPxperienceDemos/NavBar/DataBinding.aspx
varbidId= $(s.mainElement).attr("BidId");//前台获取控件的属性值
varbidChecked=s.GetChecked();//前台获取控件的
ASPxDateEdit
例子参考网址:/ASPxEditorsDemos/Validation/Inplace.aspx

devexpress xtratabcontrol用法

devexpress xtratabcontrol用法

devexpress xtratabcontrol用法DevExpress XtraTabControl是一个强大的界面控件,用于在WinForms应用程序中创建多个选项卡的用户界面。

以下是DevExpress XtraTabControl的一些用法:1. 创建TabControl对象:XtraTabControl tabControl = new XtraTabControl();2. 添加选项卡页:XtraTabPage page1 = new XtraTabPage();page1.Text = "Page 1";tabControl.TabPages.Add(page1);3. 设置选项卡显示位置:tabControl.TabPosition =DevExpress.XtraTab.TabPosition.Bottom;4. 设置选项卡外观样式:tabControl.Appearance.BackColor = Color.White;eBackColor = true;5. 添加控件到选项卡页中:Label label = new Label();label.Text = "Hello, World!";page1.Controls.Add(label);6. 响应选项卡页改变事件:tabControl.SelectedPageChanged +=TabControl_SelectedPageChanged;private void TabControl_SelectedPageChanged(object sender, TabPageChangedEventArgs e){// 处理选项卡页改变事件}6. 响应选项卡页关闭事件:tabControl.CloseButtonClick += TabControl_CloseButtonClick; private void TabControl_CloseButtonClick(object sender, EventArgs e){XtraTabControl tabControl = (XtraTabControl)sender;XtraTabPage page = tabControl.SelectedTabPage;tabControl.TabPages.Remove(page);}以上是DevExpress XtraTabControl的一些常用用法,您可以根据自己的需求进一步使用和扩展该控件。

关于DevExpress的XtraTreeList使用方法总结

关于DevExpress的XtraTreeList使用方法总结

关于DevExpress的XtraTreeList使⽤⽅法总结在最近的⼯作中,使⽤到了DevExpress中的XtraTreeList⽤法,正好借此机会研究⼀下此控件的应⽤,现将其应⽤技巧与⼤家分享⼀下。

1、使⽤XtraTreeList绑定数据(数据格式可以为ArrayList形式)我们实例说明要实现下⾯样式的窗体:⾸先,在Run Designer⾥⾯添加两个列(columns),设置两列的属性,其中第⼀列“名称”为string格式,FieldName为Name;第⼆列“选择”将ColumnEdit属性设置为CheckEdit1,FieldName为IsChecked,设置完毕。

其次可以编写⼀个类,⽤来绑定TreeList,针对此TreeList窗体,其类代码设置如下:public class TestTreeList{public TestTreeList(){}//名称字段变量private string m_sName = string.Empty;//选择字段变量private bool m_bIsChecked = false;//⼦Node节点ID变量private int m_iID = -1;//⽗Node节点ID变量private int m_iParentID = -1;public int ID{get{return m_iID;}set{m_iID = value;}public int ParentID{get{return m_iParentID;}set{m_iParentID = value;}}public string Name{get{return m_sName;}set{m_sName = value;}}public bool IsChecked{get{return m_bIsChecked;}set{m_bIsChecked = value;}}}类构造完成,在FormLoad⾥⾯借助此类对TreeList进⾏绑定: private void Form1_Load(object sender, EventArgs e)ArrayList pList = new ArrayList();TestTreeList p = new TestTreeList(); = "测试1";p.IsChecked = true;p.ID = 1;pList.Add(p);TestTreeList q = new TestTreeList(); = "测试2";q.IsChecked = false;q.ParentID = 1;q.ID = 2;pList.Add(q);this.treeList1.DataSource = pList;this.treeList1.RefreshDataSource();}这样就可以构造出⼀个简单的TreeList应⽤⽅法,程序运⾏结果可得第⼀幅图所⽰。

Delphi控件cxGrid(DevExpress控件)的使用方法

Delphi控件cxGrid(DevExpress控件)的使用方法

Delphi控件cxGrid(DevExpress控件)的使用方法1. 去掉cxgrid中抬头的box ,在tableview1的ptionsview的groupbybox=false;2. 在GRID footer 中加入sum(列), tableview1的optionsview 的footer=ture然后在cxGRid1的customize中的summary 的footer.add需要合计的列kind= skSum3. 去掉cxgrid 中的过滤下拉箭头选择tableview1.optionscustomize.columnfiltering=fasle;4. cxGrid1DBTableView1 的 OptionView中屬性GroupFooters 設為gfAlwaysVisible並設置需要求和的列,在summary.default for Groups 下add加入需要合计的字段,column下显示fieldname 为统计字段,format为格式,kind为统计方法,position 为位子spfooter 在分组的下面,spgroup 在分组的上面或用cxGridPopupMenu1,在運行時可對任意數字類型列求和,方法是只需設置cxGridPopupMenu1的屬性Grid為cxGrid1DBTableView1的cxGrid,即可實現您所需功能5. DEV Express里的cxGrid默认的数值格式带¥,怎么去掉啊!雙擊Cxgrid,選擇colmnum改變類型options.properties.Memo,在displayformat中进行设置6. 在网格最后一行的最后一格回车自动增加一条记录,并跳到新记录的第一格设置cxGrid1DBTableView1的OptionsBehavior的FocusFirsCellOnNewRecord与GoToNextCellOnEnter为True,FocusCellOnCycle设为True7. 网格中通过T ab跳转,设置cxGrid1DBTableView1的OptionsBehavior的FocusCellOnTab为True8. 设置是否能够在网格中编辑数据,设置cxGrid1DBTableView1的OptionsData的Appending设为True,Deleting为True,Editing 为True9. 设置是否能选中网格,设置cxGrid1DBTableView1的OptionsSelection的CellSelect为True10. 设置是否能够反选,设置cxGrid1DBTableView1的OptionsSelection的InsertSelect为True11. 设置行高:在cxGridDBTableView1.OptionsView.DataRowHeight12. 改变字体在cxStyleRepository 双击它,在里面添加GridTableViewStyleSheetDevExpress然后改变Style标签里面的cxStyle的字体就可以控制cxGrid的字体了13. 有图片和MEMO的例子:拖入一个cxGrid1,Table1,DataSource1。

devexpress treelist的用法

devexpress treelist的用法

devexpresstreelist的用法一、概述DevExpressTreelist控件是一款强大的TreeList控件,它提供了丰富的功能和灵活的配置选项,可以方便地展示和管理列表数据。

在DevExpress控件库中,Treelist控件适用于各种应用程序,如项目管理、文件系统、数据库管理等。

二、基本用法1.添加控件到窗体:在窗体设计器中,将DevExpressTreelist控件拖放到窗体上。

2.配置数据源:使用Treelist控件的数据源属性,设置要展示的数据。

可以连接数据库、读取数据文件或使用数据集对象作为数据源。

3.配置列:通过设置列属性,可以自定义列的显示方式、排序规则和数据类型。

4.展开和折叠节点:使用鼠标或键盘,可以展开和折叠TreeList控件中的节点,以查看更多细节。

5.搜索和过滤:Treelist控件提供了搜索和过滤功能,可以快速定位所需数据。

三、常用操作1.添加和删除节点:可以使用手动方式或编程方式,添加和删除TreeList控件中的节点。

2.编辑节点数据:在TreeList控件中选中节点后,可以编辑节点的数据。

3.复制和移动节点:可以使用复制和移动功能,方便地复制和转移节点。

4.排序和筛选:通过设置排序规则和筛选条件,可以按照指定方式展示TreeList控件中的数据。

四、高级用法1.自定义外观:通过设置TreeList控件的外观属性,可以自定义节点的样式、颜色、字体等。

2.实现自定义操作:可以使用事件处理程序或编程方式,实现自定义的操作,如节点展开时的动画效果、节点的拖拽和放置等。

3.集成其他控件:可以将Treelist控件与其他DevExpress控件集成,实现更复杂的功能和界面。

五、示例代码以下是一个简单的示例代码,展示如何使用DevExpressTreelist控件展示数据:```csharp//创建TreeList控件并设置数据源TreeList1.DataSource=myDataSet;//配置列属性TreeList1.Columns["Column1"].Visible=true;TreeList1.Columns["Column2"].Visible=false;TreeList1.Columns["Column3"].DataFormatString="integer";//展开节点时执行自定义操作TreeList1.BeginInit();TreeList1.Nodes["Node1"].BeginEdit();TreeList1.Events.NodeAfterCheck+=newDevExpress.XtraTreeList.NodeAft erCheckEventHandler(TreeList1_NodeAfterCheck);TreeList1.EndInit();//实现自定义操作代码voidTreeList1_NodeAfterCheck(objectsender,DevExpress.XtraTreeList.N odeAfterCheckEventArgse){//处理节点选中事件,根据需要执行相应操作}```六、总结DevExpressTreelist控件是一款功能强大的TreeList控件,提供了丰富的功能和灵活的配置选项。

devexpress chartcontrol 用法

devexpress chartcontrol 用法

devexpress chartcontrol 用法DevExpress ChartControl 是一款功能强大的图表控件,可以用于展示和分析数据。

本文将介绍 ChartControl 的使用方法和常见应用场景。

一、ChartControl 简介ChartControl 是 DevExpress 公司开发的一款用于显示图表的控件。

它内置了多种图表类型,如折线图、柱状图、饼图等,可以通过简单的配置实现复杂的数据可视化效果。

ChartControl 提供了丰富的功能和灵活的定制选项,适用于各种数据分析和展示的需求。

二、ChartControl 的基本使用ChartControl 的基本使用包括数据绑定、图表类型选择和图表样式调整。

1. 数据绑定:ChartControl 支持多种数据源的绑定方式,包括数据表、数据库、XML 文件等。

可以通过设置 ChartControl 的 DataSource 属性来指定数据源,同时指定 X 值和 Y 值字段,实现数据与图表的关联。

2. 图表类型选择:ChartControl 提供了多种预定义的图表类型,可以根据需求选择合适的图表类型。

可以通过 ChartControl 的 Series 属性进行设置,每个 Series 表示一个数据系列,可以设置对应的图表类型和数据源。

3. 图表样式调整:ChartControl 具有丰富的样式选项,可以对图表进行自定义的样式调整。

可以通过 ChartControl 的 Appearance 属性来设置整体的样式,也可以通过设置 Series 的 Appearance 属性来设置每个数据系列的样式。

以上是 ChartControl 的基本使用方法,通过简单的配置和调整,可以实现各种复杂的数据展示效果。

三、ChartControl 的高级特性除了基本的使用方法外,ChartControl 还提供了一些高级特性,可以进一步定制图表的显示效果和交互功能。

DevExpress控件使用详细说明

DevExpress控件使用详细说明

界面规范[V1.0]拟制人______________________审核人______________________批准人______________________[二零零七年二月二十六日]日期作者版本备注2007/04/05 范拥华 1.0.0Created by fanco Page 1 of 49 Created on 4/25/2022 3:17:00 AM目录1规范性 (4)2系统颜色、字体、图标 (4)2.1设计参考 (4)3FORM控件布局与间距 (5)3.1设计参考 (5)4对齐设置 (6)4.1设计参考 (6)5BARMANAGER控件 (6)5.1实现效果 (6)6菜单 (8)6.1设计参考 (8)6.2实现效果 (8)6.3操作步骤 (8)6.4实现代码 (9)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 4/25/2022 3:17:00 AM9.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控件 (30)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控件 (44)9.9.1设计参考 (44)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控件 (45)9.13.1设计参考 (45)9.14L IST V IEW控件 (46)9.14.1设计参考 (46)10界面输入控制 (46)10.1设计参考 (46)11弹出子窗体 (46)11.1设计参考 (46)12消息框设置 (46)12.1设计参考 (46)13向导使用原则 (47)13.1设计参考 (47)Created by fanco Page 3 of 49 Created on 4/25/2022 3:17:00 AM14TAB键和快捷键设置 (47)14.1设计参考 (47)15系统响应时间 (48)15.1设计参考 (48)16登陆窗体与主界面 (48)16.1设计参考 (48)17系统帮助设置 (49)17.1设计参考 (49)18附录 (49)1规范性通常界面设计都按Windows界面的规范来设计,即包含“菜单条、工具栏、工具箱、状态栏、滚动条、右键快捷菜单”的标准格式,可以说:界面遵循规范化的程度越高,则易用性相应的就越好。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、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列,格式分别是数据,时间,字符串。

代码增加下列部分:1.//格式增加2.dt.Columns.Add("数据",typeof(decimal));3.dt.Columns.Add("时间",typeof(DateTime));4.dt.Columns.Add("自定义",typeof(string));5.dt.Rows.Add(new object[] { 1, "张三", 1,"东大街6号","看书","",-52.874,"2011-8-517:52:55","###" });6.dt.Rows.Add(new object[] { 1, "王五", 0,"西大街2号","上网,游戏","", -37.257,"2011-8-517:52:55" });7.dt.Rows.Add(new object[] { 1, "李四", 1,"南大街3号","上网,逛街","", -54.254,"2011-8-917:52:55" });8.dt.Rows.Add(new object[] { 1, "钱八", 0,"北大街5号","上网,逛街,看书,游戏","",-35.127,"2011-8-9 17:52:55" });9.dt.Rows.Add(new object[] { 1,"赵九", 1,"中大街1号","看书,逛街,游戏","",-29.548,"2011-8-920:52:55" });给gridControl1增加3列,对应上述三列。

数据:具体数据公式可以查看输入控件的MASK设置器,里面有全部的格式公式:运行结果:时间:自定义:事件转换:概念明确:1. gridControl1的每一列原始数据是Value,但是显示数据是DisplayText,默认DisplayText的值即是Value通过DisplayFormat转换之后的值。

2. gridControl下的事件一般是包含表格GridView切换,点击,更改的事件,用的不多;每一个GridView 下的事件包含行列处理,菜单显示,分组排序等事件,我们常用。

(所有在使用事件时,一定要明确是control事件还是view事件)GridView存在事件:自定义列显示事件增加事件:1.private voidgridView1_CustomColumnDisplayText(objectsender,DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgse)2.{3.if(e.Column.FieldName =="sex")4.{5.switch(e.Value.ToString().Trim())6.{7.case"1":8. e.DisplayText = "男";9.break;10.case"0":11.e.DisplayText = "女";12.break;13.default:14.e.DisplayText = "";15.break;16.}17.}18.}显示结果:分组:按时间分第一组:按性别分第二组:显示结果:高级设置:将所有组展开代码:gridView1.ExpandAllGroups(); 显示结果:自定义组名,GridView级事件增加事件:[csharp]1.private void gridView1_CustomDrawGroupRow(object sender,DevExpress.XtraGrid.Views.Base.RowObjectCustomDrawEventArgs e)2.{3.GridGroupRowInfo GridGroupRowInfo = as GridGroupRowInfo;4.GridGroupRowInfo.GroupText = "第" + (e.RowHandle).ToString() + "行 " +GridGroupRowInfo.EditValue.ToString();5.}显示结果:注意:每一行都有一个RowHandle属性,普通行的RowHandle为非负整数,从0开始;组行排序:排序设置显示结果:汇总:汇总数据列设置注意:汇总结果是显示在Footer面板中的,gridControl中的Footer面板默认是不显示的,所以如果要汇总数据,那么必须先设置Footer面板显示。

显示结果:组计:代码:1.gridView1.GroupSummary.Add(DevExpress.Data.SummaryItemType.Sum, "数据", gridColumn7, "组计:{0}");结果显示备注显示设置设置备注字段显示结果:可以写入按键事件F3,用以开关备注显示1.private void Form4_KeyUp(object sender, KeyEventArgs e)2.{3.if (e.KeyCode == Keys.F3)4.{5.gridView1.OptionsView.ShowPreview = !gridView1.OptionsView.ShowPreview;6.}7.}行号显示要用到的事件:代码:1.private void gridView1_CustomDrawRowIndicator(object sender,DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e)2.{3.if (.IsRowIndicator)4.{5. .DisplayText = "Row " + e.RowHandle.ToString();6.}7.}8.gridView1.IndicatorWidth = 70;显示结果表格样式:全局设置例子:例子:列样式:只作用于当前的列通用样式:外观设定注意:样式设定都是相同的,Appearance前缀。

1.private void gridView1_RowCellClick(object sender,DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e)2.{3.if (e.Button == MouseButtons.Left)4.{5.//鼠标的那个按钮按下6.}7.if (e.Clicks == 2)8.{9.//鼠标点击次数10.}11.if (e.Delta > 0)12.{13.//鼠标滚轮滚动方向15.if (e.X > 0 & e.Y > 0)16.{17.//鼠标的坐标18.}19.if (e.RowHandle > 0)20.{21.//点击的行号22.}23.if (e.CellValue != null)24.{25.//点击的单元格中的值26.}27.if (e.Column != null)28.{29.//点击的单元格所属列信息30.}31.}32.33.<SPAN style="WHITE-SPACE: pre"> </SPAN>private void gridView1_RowClick(object sender,DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e)34.{35.if (e.Button == MouseButtons.Left)36.{37.//鼠标的那个按钮按下38.}39.if (e.Clicks == 2)40.{41.//鼠标点击次数42.}43.if (e.Delta > 0)44.{45.//鼠标滚轮滚动方向46.}47.if (e.X > 0 & e.Y > 0)48.{49.//鼠标的坐标50.}51.if (e.RowHandle > 0)52.{53.//点击的行号55.}重新绘制列样式事件:gridView1_CustomDrawCell代码:1.private void gridView1_CustomDrawCell(object sender,DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)2.{3.if (e.Column.FieldName == "数据")4.{5.GridCellInfo GridCellInfo = e.Cell as GridCellInfo;6.if (GridCellInfo.IsDataCell && double.Parse(GridCellInfo.CellValue.ToString()) <= -30)7. e.Appearance.BackColor = Color.Yellow;8.else if (GridCellInfo.IsDataCell && double.Parse(GridCellInfo.CellValue.ToString()) > -309.&& double.Parse(GridCellInfo.CellValue.ToString()) <= -50)10.e.Appearance.BackColor = Color.Green;11.else if (GridCellInfo.IsDataCell && double.Parse(GridCellInfo.CellValue.ToString()) > -50)12.e.Appearance.BackColor = Color.Red;13.}14.}重新计算备注事件:gridView1_CalcPreviewText代码:1.private void gridView1_CalcPreviewText(object sender,DevExpress.XtraGrid.Views.Grid.CalcPreviewTextEventArgs e)2.{3.DataRow dr = gridView1.GetDataRow(e.RowHandle);4. e.PreviewText = dr["name"].ToString() + " : " + dr["aihao"].ToString();5.}注意:GridView中大多数事件我们都会并且必须用到e这个参数,我们可以从e这个参数中获取很多信息,包括单元格、列、行、表格、GridControl的信息。

相关文档
最新文档