DX控件_非凡说明.docx_第1页
DX控件_非凡说明.docx_第2页
DX控件_非凡说明.docx_第3页
DX控件_非凡说明.docx_第4页
DX控件_非凡说明.docx_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

DX8.21 常见错误:-ld dx .exe 找不到加载项。解决方法:删除Properties下Licenses.licx文件。2 GridControl:2.1 使用:点击Run Designer 弹出对话框,可以在里面编辑任意字段。其中:ShowIncustomizationForm跟Visible配套使用:设置在运行时用户是否可以通过右键选择弹出菜单来显示visible=false的列。2.2 GridView显示横向滚动条:2.3 GridControl控件上面的Drag a column header here to group by that column一不显示OptionsOptionsViewShowGroupPanel True-False二修改GroupPanelText内容GroupPanelText:拖拽列头到此,根据列进行分组显示。2.4 数据集修改:2.4.1 设置不可编辑(只读)状态:注:区别:第一个方法可以实现双击GridView内部数据行弹出编辑对话框,第二个不行。第二个方法可以让用户复制GridView内部数据,第一个不行。一,直接设置GridView的editable为false可以实现双击GridView内部数据行弹出编辑对话框,但是不能复制GridView内部数据二,设置单个Columna) 设置ReadeOnly为true可以复制GridView内部数据,但是双击GridView内部数据行不能弹出编辑对话框b) 设置AllowEdit为False可以实现双击GridView内部数据行弹出编辑对话框,但是不能复制GridView内部数据2.4.2 编辑动作:1 双击GridView实现编辑功能2 编辑方法中的检核:if (this.gridView.FocusedRowHandle 0) return; 2.5 数据定位:2.5.1 数据集定位用方法一二都可string id = this.gridView.GetFocusedDataRow().Field(ID);1.int index =this.bindingSource.Find(ID, id);if (index 1) this.bindingSource.Position = index;2.this.gridView.LocateByValue(0, this.gridColumnId, id);2.5.2 行定位:string id = this.gridViewMenu.GetFocusedDataRow().Field(ID);this.gridViewMenu.LocateByValue(0, this.gridColumnID, id);2.6 虚拟(计算)字段的建立方法一 do it in SQL select quantity, price, quantity * price as amount from yourtable方法二 do it after you get a DataSet:DataTable t = DataSet1.Tables yourtable ; t.Columns.Add( amount , Double.GetType(); foreach (DataRow dr in t.Rows) dr amount = (double)dr quantity * (double)dr price ; 方法三 在GridView上直接显示:备注:缺点:如果可以编辑的话,鼠标点击当前cell,显示内容将变成源字段内容,光标离开后恢复映射字段内容。步骤:一、 在gridView的CustomColumnDisplayText事件中写需要显示内容。二、 设置对应的不可编辑字段AllowEdit属性为False。示例如下:private void gridView_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e) if (e.Value = null | e.Value = DBNull.Value) return; if (e.Column = this.gridColQSXZ) int temp = Convert.ToInt32(e.Value); Qsxz dkxl = (Qsxz)temp; e.DisplayText = dkxl.ToString(); if (e.Column = this.gridColDJFZMJ_Calculated_ZD | e.Column = this.gridColMJ_Calculated_ZD) e.DisplayText = (decimal)e.Value * 10000).ToString(); if (e.Column = this.gridCol_YQLR) string yqlr = ; Com.Puxu.Kcdj.Model.MA_DK_QLR model = ContextKcdj.GetInstance.Ma_DK_QLR_BLL.GetModel(e.Value.ToString(); yqlr = model.YXZMC + model.YCMC + model.YZMC; e.DisplayText = yqlr; 方法四 在GridView上添加控件:备注:此方法有一个缺点:相同本表关联字段只能用一次,多次会出现冲突。如:根据DK_QLR_ID取QLR表中的YXZMC可以,如果再取QLR中的其它字段,则不能取了。解决方法:使用不同的LookUpEdit名称,然后在各自的CustomDisplayText事件中分别处理即可。步骤:一、 打开Property Editor二、 设置FieldName为本表的关联字段(例如:MJ)三、 在ColumnEdit列选择LookUpEdit(本例取名为:repositoryItemLookUpEditMJ)并设置NullText列为空。四、 在LookUpEdit的_CustomDisplayText事件中写相应赋值代码。示例如下: this.repositoryItemLookUpEditDJFZMJ.CustomDisplayText += new DevExpress.XtraEditors.Controls.CustomDisplayTextEventHandler(repositoryItemLookUpEditDJFZMJ_CustomDisplayText);void repositoryItemLookUpEditDJFZMJ_CustomDisplayText(object sender, DevExpress.XtraEditors.Controls.CustomDisplayTextEventArgs e) if (e.Value=null | e.Value=DBNull.Value) return; e.DisplayText = (decimal)e.Value * 10000).ToString(); 3 LayOutControl:3.1 Lable提示框:3.2 隐藏EditBox控件只能通过隐藏对应的layoutcontrolitem来隐藏。而且属性也不是visible,如:this.layoutControlItemWIDTH.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;4 TextEdit:设置格式:点击右上角小方块,选择Edit mask,弹出如下窗口:5 TreeList:5.1 设置只读:一、 直接设置List为只读缺点:真个TreeList呈灰色二、 设置单个列为只读:a) 设置ReadeOnly为true可以复制GridView内部数据,但是双击GridView内部数据行不能弹出编辑对话框b) 设置AllowEdit为False可以实现双击GridView内部数据行弹出编辑对话框,但是不能复制GridView内部数据6 navBarControl6.1 设置当前item具有选中标识(颜色改变)6.2 增加item后,使控件上没有焦点:进入框架、加载插件时,默认情况下navBarControl有焦点,修改为没有焦点(如红色字体所示):private void loadPlugin(IPlugin plugin) plugin.MainForm = this; plugin.Load();/this.navBarControl1.SelectedLink = null; this.NavBarControl.SelectedLink = null; 备注:上面两句等同。其中navBarControl1表示控件名称。 DX10.01. 8.2转换为10.01.1. exe文件目录:开始-所有程序- Developer Express v2010 vol 2-ProjectConverter2. dx在工具箱消失2.1、 在开始中运行ToolboxCreator注意:运行时需要关闭VS。2.2、 在VS工具箱右击缺点是,必须手动一个个选择。3. Form页面设置2.1. 控件大小设置注意:如果调整自定义控件后,还是有滚动条,那么请试着修改父窗体中的自定义控件大小设置4. 自定义控件4.1、 在运行时固定大小设置:4.2、 设置距离边框的距离:要设置“基本信息”中的控件距离“基本信息”边框的距离,可以设置“基本信息”控件的如下属性:5. TreeList3.1、 设置node阴影效果:this.treeList4Mulu.FocusedNode.NextNode.Selected = true;3.2、 设置焦点所在行或单元格的颜色3.3、 根据鼠标位置获取节点/ / 根据鼠标位置获取节点 / / 节点所在的treelist / 节点位置 / private TreeListNode GetNodeByLocation(TreeList treeList, Point location) TreeListHitInfo hitInfo = treeList.CalcHitInfo(treeList.PointToClient(location); return hitInfo.Node; 3.4、 列头排序功能方法:/在这个方法里,主要实现了点击列头排序的功能 private void roleList_MouseDown(object sender, MouseEventArgs e) if(e.Button = MouseButtons.Left) DevExpress.XtraTreeList.TreeListHitInfo hInfo = roleList.GetHitInfo(new Point(e.X, e.Y); if (hInfo.HitInfoType = HitInfoType.Column) switch (hInfo.Column.Name) case roleId: roleName.SortOrder = SortOrder.None; remark.SortOrder = SortOrder.None; switch (roleId.SortOrder) case SortOrder.Ascending: roleId.SortOrder = SortOrder.Descending; break; case SortOrder.Descending: roleId.SortOrder = SortOrder.Ascending; break; case SortOrder.None: roleId.SortOrder = SortOrder.Ascending; break; default: break; break; case roleName: roleId.SortOrder = SortOrder.None; remark.SortOrder = SortOrder.None; switch (roleName.SortOrder) case SortOrder.Ascending: roleName.SortOrder = SortOrder.Descending; break; case SortOrder.Descending: roleName.SortOrder = SortOrder.Ascending; break; case SortOrder.None: roleName.SortOrder = SortOrder.Ascending; break; default: break; break; case remark: roleId.SortOrder = SortOrder.None; roleName.SortOrder = SortOrder.None; switch (remark.SortOrder) case SortOrder.Ascending: remark.SortOrder = SortOrder.Descending; break; case SortOrder.Descending: remark.SortOrder = SortOrder.Ascending; break; case SortOrder.None: remark.SortOrder = SortOrder.Ascending; break; default: break; break; default: break; roleList.Refresh(); 6. barManager4.1、 获得barManager的size/ / 获得barManager1的size / private Size GetBarManager1Size() Size sizeSum = new Size(); foreach (var item in this.barManager1.Bars) barManager1.ForceInitialize(); FieldInfo fi = item.GetType().GetField(barControl, BindingFlags.NonPublic | BindingFlags.Instance); DevExpress.XtraBars.Controls.CustomBarControl barControl = fi.GetValue(item) as DevExpress.XtraBars.Controls.CustomBarControl; sizeSum.Width += barControl.Width; sizeSum.Height += barControl.Height; return sizeSum; 4.2、 两个控件的菜单合并合并时菜单顺序设置:设置单个菜单的属性7. ribbonGalleryBarItem5.1、 皮肤设置:5.1.1、简单添加:i. 首先添加引用:ii. 在Program Main()添加进去DevExpress.UserSkins.OfficeSkins.Register();DevExpress.UserSkins.BonusSkins.Register();DevExpress.Skins.SkinManager.EnableFormSkins();iii. 在MainForm中添加DevExpress.XtraBars.Helpers.SkinHelper.InitSkinGallery(ribbonGalleryBarItemSkins, true);iv. 设置默认皮肤:UserLookAndFeel.Default.SetSkinStyle(Coffee);v. 简单常用方法代码如下:#region Skin private void InitSkins() DevExpress.XtraBars.Helpers.SkinHelper.InitSkinGallery(ribbonGalleryBarItemSkins, true); INIFile iniFile = new INIFile(_attachmentFilePath); string skinName = iniFile.ReadValue4String(PublicKeys.SkinSectionKey, PublicKeys.SkinDefultName); UserLookAndFeel.Default.SetSkinStyle(skinName); this.ribbonGalleryBarItemSkins.GalleryItemCheckedChanged -= ribbonGalleryBarItemSkins_GalleryItemCheckedChanged; this.ribbonGalleryBarItemSkins.GalleryItemCheckedChanged += new GalleryItemEventHandler(ribbonGalleryBarItemSkins_GalleryItemCheckedChanged); void ribbonGalleryBarItemSkins_GalleryItemCheckedChanged(object sender, GalleryItemEventArgs e) string skinName = e.Item.Tag.ToString(); if (skinName != UserLookAndFeel.Default.SkinName) INIFile iniFile = new INIFile(_attachmentFilePath); iniFile.WriteValue(PublicKeys.SkinSectionKey, PublicKeys.SkinDefultName, skinName); #endregion5.1.2、其它常用属性和方法:i. 获取现有所有主题皮肤名称通过“foreach(SkinContainer cnt in SkinManager.Default.Skins)”可以获取现有所有主题皮肤名称ii. 获取默认皮肤string aa = UserLookAndFeel.Default.SkinName;8. dxValidationProvider(数据验证控件)A. 设置一般

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论