gridcontrol安装部署(Gmm)
- 格式:doc
- 大小:17.86 MB
- 文档页数:40
gridcontrol绑定数据源的方法以gridcontrol绑定数据源的方法为标题,写一篇文章。
一、引言在软件开发中,常常需要使用表格展示和编辑大量的数据。
而gridcontrol是一种常见的控件,可以方便地实现数据的展示和编辑。
本文将介绍如何使用gridcontrol控件来绑定数据源,以便快速、高效地展示和编辑数据。
二、准备工作在开始使用gridcontrol之前,需要进行一些准备工作。
首先,需要在项目中引入DevExpress的相关库文件,以便使用gridcontrol 控件。
其次,需要准备好数据源,可以是数据库中的数据表,也可以是其他的数据集合。
三、绑定数据源1. 创建gridcontrol控件在窗体或用户控件中创建一个gridcontrol控件。
可以通过拖拽的方式将gridcontrol控件添加到窗体中,也可以在代码中动态创建gridcontrol控件。
2. 创建数据源对象在代码中创建数据源对象,并将数据源对象与gridcontrol控件进行绑定。
数据源对象可以是DataTable、DataSet、List等类型的对象。
3. 绑定数据源使用gridcontrol控件的DataSource属性,将数据源对象与gridcontrol控件进行绑定。
具体代码如下所示:gridControl1.DataSource = 数据源对象;四、设置列信息绑定数据源之后,需要设置gridcontrol控件的列信息,以便正确地展示和编辑数据。
可以通过代码或者设计器来设置列信息。
1. 通过代码设置列信息可以使用gridcontrol控件的Columns属性,通过代码来设置列信息。
可以设置列的显示名称、宽度、数据类型等。
具体代码如下所示:gridView1.Columns[0].Caption = "列名";gridView1.Columns[0].Width = 100;gridView1.Columns[0].ColumnEdit = new RepositoryItemTextEdit();2. 通过设计器设置列信息可以使用设计器来设置列信息。
GridControl使用手册因XtraGrid GridControl控件功能强大,也相对复杂,由于没有在网络上找到合适的使用说明,本人整理一份,希望对各位朋友有一点点帮助。
如果有错误或不足,请见谅。
主要参考信息:A.B.C.D.一、类的层次及其关系主要类:A.DevExpress.XtraGrid.GridControB.l DevExpress.XtraGrid.Views.Grid.GridViewC.DevExpress.XtraGrid.Columns.GridColumnD.E.F.System.Data.DataView \ System.Data.DataViewManager \ System.Data.DataSet二、使用1、数据源导入1> List数据源——列名怎么加入的?IList<MyClass> list = new BindingList<MyClass>();//初始listlist.Add(A);list.Add(B);………..gridControl1.DataSource = list;2> DataView数据源——列名怎么加入的?DataView dv;private void InitData(){string DBFileName = DevExpress.Utils.FilesHelper.FindingFileName(Application.StartupPath,"Data\\nwind.mdb");if(DBFileName != ""){DataSet ds = new DataSet();string con = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + DBFileName;string tblGrid = "[Order Details]";string tblLookUp = "Products";System.Data.OleDb.OleDbDataAdapter oleDbDataAdapter = newSystem.Data.OleDb.OleDbDataAdapter("SELECT * FROM " + tblGrid, con);oleDbDataAdapter.Fill(ds, tblGrid);oleDbDataAdapter = new System.Data.OleDb.OleDbDataAdapter("SELECT * FROM " +tblLookUp, con);oleDbDataAdapter.Fill(ds, tblLookUp);DataViewManager dvManager = new DataViewManager(ds);dv = dvManager.CreateDataView(ds.Tables[tblGrid]);gridControl1.DataSource = dv;repositoryItemLookUpEdit1.DataSource = ds.Tables[tblLookUp];}}2、布局的3、风格而是让4、内嵌子控件为人5、数据导出广泛DEV控件:GridControl常用属性设置1.隐藏最上面的GroupPanelgridView1.OptionsView.ShowGroupPanel = false;2.得到当前选定记录某字段的值sValue = Table.Rows[gridView1.FocusedRowHandle][FieldName].ToString(); 3.数据只读gridView1.OptionsBehavior.Editable = false;4.D源码实例1. 特定条件的格子字体和格背景private void gridView1_RowCellStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowCellStyleEventArgs e){if(e.RowHandle != gridView1.FocusedRowHandle || e.Column.AbsoluteIndex == gridView1.FocusedColumn.AbsoluteIndex) { if(e.Column.FieldName == "Category" && gridView1.GetRowCellValue(e.RowHandle, e.Column).Equals(4)) {e.Appearance.Font = new Font(AppearanceObject.DefaultFont, FontStyle.Bold);e.Appearance.ForeColor = Color.Navy;}if(e.Column.FieldName == "Unit Price" && gridView1.GetRowCellValue(e.RowHandle, e.Column) is System.Decimal) if((Decimal)gridView1.GetRowCellValue(e.RowHandle, e.Column) > 30)e.Appearance.BackColor = Color.FromArgb(192, 192, 255);}}。
devexpressgridcontrol部分用法GridControl赋值:this.GridControl1.DataSouce=dt;2、GridContro总合计及分组合计:常规总合计直接RunDesigner-Group Summary ItemsDisplayFormat 设置显示格式如:{0:P}表示显示为百分号模式。
如数据源中为0.5。
表示出来为50%FieldName 设置显示的对应列ShowInGroupColumnFooter 在那一列下面显示SummaryType 合计方式。
选择Custom表示自定义。
CustomSummaryCalculate事件可处理View Code//Footer行自定义列合计1 GridView view = sender as GridView;2 if (e.Item == view.Columns["RateZk"].SummaryItem)3 {4 decimal x =Convert.ToDecimal(view.Columns["RetailFAmount"].Summary Item.SummaryValue);5 decimal y =Convert.ToDecimal(view.Columns["RetailAmount"].SummaryItem.SummaryValue);6view.Columns["RateZk"].SummaryItem.DisplayFormat = "{0:P}";7 if (y != 0)8 e.TotalValue = x / y;9 else10 e.TotalValue = 0;11 }View Code//分组行自定义合计列1 if (e.IsGroupSummary)2 {3 Hashtable ht =view.GetGroupSummaryValues(e.GroupRowHandle);45 foreach (DictionaryEntry entry in ht)6 {7 GridGroupSummaryItem sumItem = entry.Key as GridGroupSummaryItem;8 if (sumItem.FieldName.Equals("RetailFAmount"))9 retailFAmount =Convert.ToDecimal(entry.Value);10 }11 if(e.Item.ToString().Contains(view.Columns["RateZk"].Summary Item.FieldName))12 e.TotalValue = retailFAmount3、GridContro导出Excel操作:View Code1 SaveFileDialog saveFileDialog = new SaveFileDialog();2 saveFileDialog.Title = "导出Excel";3 saveFileDialog.Filter = "Excel文件(*.xls)|*.xls";4 DialogResult dialogResult =saveFileDialog.ShowDialog(this);5 if (dialogResult == DialogResult.OK)6 {7 this.gvbrowse.OptionsPrint.AutoWidth = false; //设置导出的Excel自动调整列宽,列宽和控件的列宽一致8this.gcbrowse.ExportToXls(saveFileDialog.FileName);9//this.gcbrowse.ExportToXlsOld(saveFileDialog.FileName);//这个方法默认会自动调整列宽,但是office10以上版本有的会报错10 DevExpress.XtraEditors.XtraMessageBox.Show("保存成功!", "提示", MessageBoxButtons.OK, rmation);11 this.gvbrowse.OptionsPrint.AutoWidth = true;12 }4、GridControl列要显示百分号:Run Designer-Columns列FormatType="Numeric" FormatString="p"5、gridView1.OptionsView.ShowGroupPanel = false; 不显示分组面板6、gridView1.OptionsBehavior.Editable=false; 数据只读7、设置列时间格式:Formatstring="yyyy-MM-dd HH:ss:mm"; FormatType="Numeric";设置列数字格式:Formatstring="N2";(数据格式:F表浮点,N表整数,数字表示保留几位小数。
DevExpress的GridControl控件设置⾃定义显⽰⽅法DevExpress的GridControl控件设置⾃定义显⽰⽅法2018年04⽉09⽇ 13:41:25 阅读数 634⽐如要显⽰性别为字符串,数据库中保存为数值(1:男,2:⼥,3:未知)。
⽅法⼀:点击控件上的"Run Designer"按钮,进⼊设计界⾯。
选择“Columns",增加⼀个隐藏字段,字段值取需要显⽰的绑定值。
如显⽰性别,绑定"Sex"字段。
增加⼀个显⽰字段,字段显⽰表达式。
修改属性UnboundExpression的值为:Iif([SexExpression] <= 2 And [SexExpression] >0, Iif([SexExpression] == 1,'男','⼥') , '未知')。
修改属性UnboundType的值为:String修改属性FiledName的值为:SexDesc⽅法⼆:点击控件上的"Run Designer"按钮,进⼊设计界⾯。
编辑Views的GridView1的事件CustomColumnDisplayText。
private void gridView1_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e){if (e.Column.FieldName == "Sex"){if (e.Value != null){switch (e.Value.ToString().Trim()){case "1":e.DisplayText = "男";break;case "2":e.DisplayText = "⼥";break;case "3":e.DisplayText = "未知";break;default:e.DisplayText = "";break;}}}}。
grid 安装1:linux参数配置1.1,修改主机名hostname[root@ocp ~]# hostnameocp[root@ocp ~]# cd /etc/sysconfig/[root@ocp sysconfig]# cat networkNETWORKING=yesNETWORKING_IPV6=noHOSTNAME=ocpGATEWAY=192.168.56.1[root@ocp sysconfig]#1.2,修改ip,确保为静态ip[root@ocp network-scripts]# pwd/etc/sysconfig/network-scripts[root@ocp network-scripts]# cat ifcfg-eth0# Intel Corporation 82540EM Gigabit Ethernet Controller DEVICE=eth0BOOTPROTO=staticBROADCAST=192.168.56.255HWADDR=08:00:27:CF:A5:B5IPADDR=192.168.56.171NETMASK=255.255.255.0NETWORK=192.168.56.0ONBOOT=yes1.3,修改hosts文件[root@ocp etc]# cd /etc[root@ocp etc]# cat hosts# Do not remove the following line, or various programs# that require network functionality will fail.127.0.0.1 localhost.localdomain localhost ::1 localhost6.localdomain6 localhost6 [root@ocp etc]# vi hosts (需要自己编辑,增加红色字体的最后一行)[root@ocp etc]# cat hosts# Do not remove the following line, or various programs# that require network functionality will fail.127.0.0.1 localhost.localdomain localhost::1 localhost6.localdomain6 localhost6192.168.56.171 ocp[root@ocp etc]#2:添加硬盘2.1,关闭虚拟机,增加新的固定大小的硬盘2.2,检查硬盘情况fdisk -l2.3,出现新增硬盘for i in b c d e .....;(.....为如果出现更多的硬盘时)doecho "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/sbin/scsi_id -g -u -s %p\", RESULT==\"`scsi_id -g -u -s /block/sd$i`\", NAME=\"asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\"" done==========把上面的执行结果放入下面的文件中cd /etc/udev/rules.d touch 99-oracle-asmdevices.rules========== 然后再执行下面的语句/sbin/udevcontrol reload_rules /sbin/start_udev==========[root@ocp rules.d]# /sbin/udevcontrol reload_rules [root@ocp rules.d]# /sbin/start_udev Starting udev: [ OK ][root@ocp rules.d]# cd /dev [root@ocp dev]# ll -l asm* brw-rw---- 1 root root 8, 16 Dec 15 20:47 asm-diskb brw-rw---- 1 root root 8, 32 Dec 15 20:47 asm-diskc3:创建用户和组3.1:创建组groupadd -g 6000 oinstall groupadd -g 6001 dba groupadd -g 5000 asmadmin groupadd -g 5001 asmdba groupadd -g 5002 asmoper groupadd -g 6002 oper3.2,创建用户useradd -g oinstall -G dba,asmadmin,asmdba,asmoper grid useradd -g oinstall -G dba,asmdba oracle3.3,建立文件夹及赋权mkdir -p /gridmkdir -p /oraclemkdir -p /u01/app/oracle chown -R oracle:oinstall /u01 chown -R oracle:oinstall /oracle chown -R grid:oinstall /grid3.4,修改用户密码(oracle)passwd oraclepasswd grid4:开始安装grid 4.1,提前准备需要的安装文件1,拷贝linux.x64_11gR2_grid.zip至/tmp 2,拷贝linux.x64_11gR2_database_1of2.zip, linux.x64_11gR2_database_2of2.zip至/tmp4.2,解压现在需要安装的grid安装文件(使用root用户解压缩)unzip linux.x64_11gR2_grid.zip5,oracle和grid用户的参数设置5.1,设置grid用户的参数su - gridvi .bash_profileexport ORACLE_SID=+ASMexport ORACLE_BASE=/u01/app/grid export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/grid export PATH=$ORACLE_HOME/bin:$PATH参数立即生效source .bash_profile5.2,配置oracle用户的参数su – oraclevi .bash_profileexport ORACLE_SID=ocpasmexport ORACLE_BASE=/u01/app/oracle/ export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 export PATH=$ORACLE_HOME/bin:$PATH5.3,修改u01目录的权限chmod -R 775 /u015.4,修改asm磁盘的归属cd /devls -l asm*chown -R grid:oinstall /dev/asm*6:提前通过yum安装后面会需要用的rpm包6.1,yum安装参数配置cd /etc/yum.repos.d/mv public-yum-el5.repo public-yum-el5.repo.bak[root@ocp yum.repos.d]# vi oracle-validate.repo [oel5_u10_base]name=Oracle Enterprise Linux 5.10 baseurl=file:///mnt/Server/ gpgcheck=0enabled=16.2,挂载cdrom,挂载原linux系统安装光盘mount /dev/cdrom /mnt6.3,开始安装rpm包/***解决yum安装出错rpm --import /etc/pki/rpm-gpg/RPM* ***/cd /mnt/Serverrpm --import /etc/pki/rpm-gpg/RPM*yum install oracle-validate* yum install unixODBC*7:通过xmanager安装grid 7.1,启动xmanager ===>>Xstart7.2,进入grid安装程序所在目录7.3,开始正式安装grid 执行./runInstallercd /mnt/Server yum install unixODBC-2.2.11*然后再check again7.4,安装完毕,检查安装成果展示磁盘组[grid@ocp ~]$ ps -ef|grep smon grid 3619 1 0 00:19 ? 00:00:00 asm_smon_+ASM grid 4630 4592 0 00:38 pts/3 00:00:00 grep smonsqlplus / as sysasm select name,state from v$asm_diskgroup;[root@ocp ~]# su - grid [grid@ocp ~]$ crs_stat -t7.5,增加新硬盘[grid@ocp grid]$ asmca鼠标右键,现在add disk 运行特别慢,有点耐心7.6,查看增加后硬盘情况[grid@ocp ~]$ sqlplus / as sysasmSQL*Plus: Release 11.2.0.1.0 Production on Mon Dec 15 23:03:23 2014 Copyright (c) 1982, 2009, Oracle. All rights reserved.Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production With the Automatic Storage Management optionSQL> select group_number,name,total_mb,free_mb from v$asm_diskgroup;GROUP_NUMBER NAME TOTAL_MB FREE_MB ------------ ------------------------------ ---------- ----------1 DATA 6144 6083。
DevExpress.XtraGrid.GridControl绑定List笔记背景最近公司计划按业务domain拆分系统,原有系统客户端用到DevExpress组件,报表展示都是通过GridControl绑定DataTable实现。
考虑到和服务端交互数据的性能问题,在项目升级的同时,想把DataTable替换掉。
GridControl绑定IList比较简单,但是在调试主从表效果时,一直没能达到预期效果,子列表的列名一直显示相应类的字段名称。
这个问题令人大伤脑筋,调试过程着实花了一番功夫,但是问题的解决方法却让人大跌眼镜。
考虑到关于这个问题在网上比较难找,所以这里做了个分享,希望对碰到同样问题的朋友有所帮助。
运行效果定义实体类//////学生信息///public class StudentEntity{private int stuId;//////学号///public int StuId{get { return stuId; }set { stuId = value; }}private string stuName; //////姓名///public string StuName {get { return stuName; } set { stuName = value; } }private List courseList; //////所选课程///public List CourseList {get { return courseList; } set { courseList = value; } }}//////学生选课信息///public class StuCourseEntity {private int stuId;//////学生编号///public int StuId{get { return stuId; }set { stuId = value; }}private int id;//////课程编号///public int Id{get { return id; }set { id = value; }}private string name;//////课程名称///public string Name{get { return name; }set { name = value; }}private decimal score;//////成绩///public decimal Score{get { return score; }set { score = value; }}}构建学员实例List studentList = new List();studentList.Add(new StudentEntity() { StuId = 101, StuName = "101",CourseList = new List() {new CourseEntity(){StuId = 101, Id = 201,Name = "语文", Score = 78},new CourseEntity(){StuId = 101, Id = 202,Name = "数学", Score = 95},new CourseEntity(){StuId = 101, Id = 203,Name = "外语", Score = 80} }});studentList.Add(new StudentEntity(){StuId = 102,StuName = "102",CourseList = new List() {new CourseEntity(){StuId = 102, Id = 201,Name = "语文", Score = 80},new CourseEntity(){StuId = 102, Id = 202,Name = "数学", Score = 95},new CourseEntity(){StuId = 102, Id = 203,Name = "外语", Score = 80}}});studentList.Add(new StudentEntity(){StuId = 103,StuName = "103",CourseList = new List() {new CourseEntity(){StuId = 103, Id = 201,Name = "语文", Score = 90},new CourseEntity(){StuId = 103, Id = 202,Name = "数学", Score = 95},new CourseEntity(){StuId = 103, Id = 203,Name = "外语", Score = 80}}});绑定List到GridControlgcMain.DataSource = studentList;GridControl设置注:这里的LevelName的设置是关键,一定要和Student类的CourseList一致(用DataSet做数据源是主从表关系是通过DataRelation指定的,而IList作为数据源时,这里的关系是通过LevelName对应的,在调试的过程中很容易忽略这个属性的设置)。
Developer Express(以下简称dev) 这个第三方控件是VS2005自带的datagridview控件的重写版本.对于一些grid外观,模板列的设置有非常简单的方法.而且控制起来基本和datagridview 一样.所以还是比较方便的.把dev控件拖到窗体以后,会发现多了两个控件gridcontrol1,gridview1,下面针对这期间使用dev的一些总结写在下面(主要是连接数据库,绑定字段和模板列的设置):1. 设置数据源:string sql = "select fid,fname from dual";DataTabledt = DALUse.Query(sql).Tables[0];gridControl1.DataSource = dt;*:Daluse是项目数据库连接基类,不用特别理会2.绑定字段:这部分工作主要是在Designer中进行的,dev的Designer设计器提供了非常方便的设置方式.我么可以省去敲代码,直接在设计器中就可以完成了.在左边选Columns,添加完列以后,在列的FieleName属性添加你要绑定列的字段名(ps:比如我的连接SQL语句是:select fid,fname from dual.我想要把fid绑定到列1.那就在列1的FieldName属性写FID就可以了),这里有非常重要的一点,对于Oracle数据库,所有的在设计器里写的程序中的字段名必须大写,否则可能绑定不上字段,sqlserver没有这个限制.通过代码其实也可以实现,具体代码如下: gridView1.Columns[0].FieldName = "FID";*:gridcontrol只用在设置数据源,以后的操作大多都有gridview这个控件了.他们是一体的,可以在页面的设计代码中找到将他们关联的一句话,这是系统自动写的:gridcontrol1.mainview=this.gridview1.2. 模板列的设置:模板列可以很轻松的让用户实现在表格中进行查找编辑.同样,这部分工作在dev的Designer中进行.在左边选In-Place Editor Repository,上面的ADD提供了比较丰富的模板列类型,从中选取一个就可以了.模板列建好以后就要和我们当前有的数据列进行绑定了.返回到Columns中,假如列1是我们想设定的,在他的属性中找到ColumnEdit.选择我们加进去的模板列就可以了.对于模板列我们最常用的还是LookUpEdit.这里简单说下他的设置和用法:LookUpEdit是弹出的一个小的grid,从它里面我们可以实现自动筛选里面的信息.首先从In-Place Editor Repository中添加LookUpEdit.取名为Re1.然后.在他的Columns属性中添加3列.Caption依次为:编号,姓名,性别.FieldName依次为:FID,FNAME,FSEX.然后将Re1的NullText设置成空.AutoSearchColumnIndex属性设置为2.ImmediatePopup属性设置为True.SearchMode设置为OnlyInPopup.然后将这个模板列附加到我们上面提到的列1(也就是将列1的ColumnEdit属性设成Re1)最后我们还要在代码里面给Re1绑定数据源和显示项.Re1.DataSource = DALUse.Query("select fid,fname,fsex from dual").Tables[0];Re1.DisplayMember = "FSEX";Re1.ValueMember = "FNAME";*:对于Oracle数据库字段一定要用大写,切记!!至此,我们的LookUpEdit模板列就设置完成了,它现在已经实现了通过性别列检索,然后将姓名列附到我们的列1上.对于LookUpEdit可以实现过滤主要是AutoSearchColumnIndex和SearchMode属性.可以参见帮助知道它们的用法: ms-help://v7.2/DevExpress.XtraEditors/DevExpressXtraEditorsControlsSearchMo deEnumtopic.htmPs://去掉上面的筛选条gridView1.OptionsView.ShowGroupPanel = false;//设某一列只读或者不可编辑gridView1.Columns[0].OptionsColumn.AllowEdit = false;gridView1.Columns[0].OptionsColumn.ReadOnly = false;//设某一列文字和标题局中显示 gridView1.Columns[0].AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;gridView1.Columns[0].AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;//去掉某一列上面的自动筛选功能(Filter) gridView1.Columns[0].OptionsFilter.AllowAutoFilter = false;gridView1.Columns[0].OptionsFilter.AllowFilter = false; gridView1.Columns[0].OptionsFilter.ImmediateUpdateAutoFilter = false;//设置冻结列(左冻结)gridView1.Columns[0].Fixed= DevExpress.XtraGrid.Columns.FixedStyle.Left;//得到单元格数据(0行0列)string ss=gridView1.GetRowCellDisplayText(0, gridView1.Columns[0]);string ss = gridView1.GetRowCellValue(0, gridView1.Columns[0]);//设置单元格数据(将0行0列的单元格赋值123)gridView1.SetRowCellValue(0, gridView1.Columns[0], "123");//手动添加dev的列DevExpress.XtraGrid.Columns.GridColumn Col1=new DevExpress.XtraGrid.Columns.GridColumn ();Col1.FieldName="FID";Col1.Visible=true;Col1.VisibleIndex=gridView1.Columns.Count;gridView1.Columns.Add(Col1);//设置自动增加的行号,需要先添加给gridview添加事件CustomDrawRowIndicatorprivate void gridview_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e){if (.IsRowIndicator&&e.RowHandle>= 0).DisplayText = (e.RowHandle + 1).ToString();}//添加datatable数据行,数据列DataTabledt = new DataT able();dt.Columns.Add("Col1");DataRowdr = dt.NewRow();dr[0] = "123";dt.Rows.Add(dr);*以上这些都可以在Designer中进行设置,而不用去敲代码对于第三方控件的整体修改和保存,具体说明如下:1. 删除: (修改了dgvdel里的datagridviewdel方法)public static void datagridviewdel_Dev(DevExpress.XtraGrid.Views.Grid.GridViewMydgv){if (MessageBox.Show("你确定要删除选中的记录吗?", "删除提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2, 0, false) == DialogResult.Yes){intiSelectRowCount = Mydgv.SelectedRowsCount;if (iSelectRowCount> 0){Mydgv.DeleteSelectedRows();}}}2. 新增: (对于新增,其本身的AddNewRow方法就可以做到)private void btn_add_Click(object sender, EventArgs e){gridView1.AddNewRow();}具体如果对于新加行还有什么特别的设置,可以在它gridView1_InitNewRow事件中填写:private void gridView1_InitNewRow(object sender, DevExpress.XtraGrid.Views.Grid.InitNewRowEventArgs e){ColumnView View = sender as ColumnView;View.SetRowCellValue(e.RowHandle, View.Columns[0], gridView1.GetRowCellValue(gridView1.GetRowHandle(gridView1.RowCount - 2), gridView1.Columns[0])); //复制最后一行的数据到新行View.SetRowCellValue(e.RowHandle, View.Columns[1], gridView1.GetRowCellValue(gridView1.GetRowHandle(gridView1.RowCount - 2), gridView1.Columns[1])); //复制最后一行的数据到新行}3. 保存(第三方控件提供的RefreshData和RefreshDataSource方法对于保存数据都不好使,最后还是使用了Dgvsave的datagridviewsave方法,用这个方法就可以)注:代码中出现多gridView1全为第三方控件的gridView.示例:去掉上面的”Drag a column header here to group by that column”我们拖动一个gridcontrol控件后,在出现上会出现一下效果:他默认的好多地方都是用英文表示出来的,所以我们得用一些相关的属性设置来达到我们实际想要达到的效果.首先就是要去掉上面的一个英文条”Drag a column header here to group by that column”.我们可以通过手工设置和代码编写来实现,以后针对第三方控件的属性都可以用这两种方法来实现.手工设置:点击左下角的”Run Designer”按钮.这样我们就进入了Dev的设计器(所有的对于控件的控制都可以在这里设置).然后点击左边的Main选项卡中的Views项.有边栏目里会出现N多属性,我们找到OptionViews,展开它,然后将里面的ShowGroupPanel属性设成false就OK了.代码编写:我们可以直接在构造函数或者页面的打开事件中写入代码:gridView1.OptionsView.ShowGroupPanel = false;两种方法可以达到同样的效果.设置外观接下来我们来设置它的外观.Dev给我们提供了很多外观的模板,这样使得我们不用在通过复杂的代码来设置他的外观,我们直接用手工设置就可以完成了!点击Dev设计器中左边的Appearance选项卡的Style Schemes项:通过在里面设置外观,然后点击右小角的Apply按钮就可以很轻松的设置各种各样的外观了. 去掉控件默认的Filter功能出现英文的情况我们按照上面所讲的方法给Dev添加列后,在点击列头的小按钮的时候会出现这样的效果(出现了我们不想看到的英文):这个对于我们来说是比较讨厌的.我们可以在Dev的设计器中消灭它.点击设计器中左边的Main选项卡的Columns项.选择你想设置的列,然后点击右上角他们的选项卡:选择Filter options选项卡,然后将里面的AllowAutoFilter,AllowFilter,ImmediateUpdateAutoFilter 属性分别设成false就可以了.这样这列的AutoFilter功能就去掉了(仅限于这列)!如果你够细心的话,你会发现上面的选项卡Column options里面的属性也都是特别使用的:这里面的属性不用说,我想你也知道怎么用了(他也是只针对一列设置的).关闭右键点击列头会出现英文的情况:在Dev的设计器中选择左边Main选项卡中的Views项.找到OptionsMenu,然后展开,将里面的EnableColumnMenu设成false就可以了.。
dev的gridcontrol的用法-回复"dev的gridcontrol的用法"是指开发中使用的GridControl控件的用法。
GridControl是DevExpress开发框架中的一个重要控件,用于展示和编辑表格数据。
本文将逐步介绍GridControl的使用方法,包括创建GridControl、数据绑定、列定义和数据操作等方面。
一、创建GridControl首先,我们需要在开发环境中导入DevExpress的控件库。
在项目中直接引用DevExpress.XtraGrid的程序集即可。
然后,我们可以在代码中使用以下语句来创建一个GridControl控件:GridControl gridControl = new GridControl();二、数据绑定接下来,我们需要将数据绑定到GridControl上。
GridControl支持多种数据源,包括DataTable、List、数组等。
下面是使用DataTable作为数据源的示例代码:DataTable dataTable = new DataTable();填充dataTable的数据...gridControl.DataSource = dataTable;在数据绑定之后,GridControl会自动根据数据源的结构创建对应的列。
三、列定义GridControl可以根据数据源自动创建列,但是我们也可以手动定义列的特性,例如显示名称、数据类型、编辑控件等。
下面是一个手动定义列的示例代码:GridColumn column = new GridColumn();column.FieldName = "Name";column.Caption = "姓名";column.Visible = true;column.VisibleIndex = 0;gridControl.Columns.Add(column);通过设置GridColumn的属性,我们可以灵活地控制列的显示和行为。
ORACLE中安装Gird Control目录1. 前言 (1)2. 安装准备: (1)3. 环境准备 (2)4. 安装步骤 (5)4.1检查网络互通 (5)4.2检查虚2上的ORACLE数据库是否正常启动 (6)4.3安装Gird Control (6)4.3.1 错误OUI-25031检查OMS Configuration的时候会提示错误,错误如下: (22)4.3.2 错误OUI-25031 解决方法 (22)4.4安装OMA (28)4.5 关于GC相关命令 (33)5. 总结 (34)1.前言该安装过程,是自己经过反复安装总结出来供大家学习,可能由于环境配置的不同,会出现不同的问题,具体问题具体分析。
本总结也非权威版,属于参考版物。
如果有问题可以通过讨论解决:个人邮箱:zyjj_530@QQ:86141725 (加好友时,请标注“环境问题”)2.安装准备:环境配置:VMWare WorkStation 5.0以上、RedHat AS 4 Linu 磁盘空间需要足够大安装包:OraGrid10201-linux.iso(官网上能够下载到)知识:了解GC基本知识,如OMS、OMR、OMA的概念。
简单介绍一下:OMA:oracle管理代理,提供代理服务,生产机通过代理与OMS连接,受OMS统一管理。
OMS:oracle管理服务,即使用GC进行管理。
OMR:oracle管理库,即OMS所使用的数据库。
注:由于本人在网上搜索关于Gird Control的文档,没有搜索到,上面的阐述,是我个人的理解。
3.环境准备Linux环境准备虚拟机1:名称: IP:192.168.1.97虚拟机2:名称: IP:192.168.1.98数据库准备1.虚拟机1上只需要安装ORACLE就行,不需要使用dbca创建数据库。
2.虚拟机2上安装ORACLE,还需要使用dbca创建数据库,例如数据库SID为OMR,当创建数据库时,一定不要创建SYSMAN用户,即不要创建EM使用dbca创建虚拟机2上的数据库时注意以下细节:默认安装DB时,这里是勾选的,这里把勾选去掉。
目录1引言 (1)1.1目的 (1)1.2参考资料 (1)2GRID控件介绍 (1)2.1功能介绍 (1)2.2框架介绍 (2)2.3主要类介绍 (4)2.3.1CGridCtrl类 (4)2.3.2CGridCellCheck类 (5)2.3.3CGridCellCombo类 (7)2.4控件类CG RID C TRL常用函数说明 (10)2.4.1行和列的设置 (10)2.4.2单元格信息设置 (12)2.4.3控件操作 (15)2.4.4外观和特征设置 (20)2.4.5颜色设置 (23)2.4.6控件消息介绍 (26)3实例制做 (27)3.1实例图片 (27)3.2实例制做过程介绍 (27)3.2.1新建项目 (27)3.2.2初使化GridCtrl控件 (28)3.2.3设置固定行和列 (30)3.2.4向单元格插入图片 (31)3.2.5设置CheckBox列 (32)3.2.6设置ComboBox列 (33)3.2.7设置行背景颜色和列背景颜色 (34)3.2.8添加消息处理 (35)4实例以外的思考 (36)1 引言1.1 目的本文记录了作者在学习了解并使用GridCtrl的过程中的心得体会,希望能够对今后学习使用GridCtrl控件的其他同事有所帮助,使其更快上手。
1.2 参考资料1)CGridCtrl学习指南网址:/blog/static/21769242200822911559438/ 2)CGridCtrl使用详解网址:/incwar/archive/2009/01/17/3807283.aspx3)CGridCtrl源代码一份。
需要的同事,可以OA上发邮件给我。
4)作者亲手制做的对于CGridCtrl的使用实例:GridCtrlTest。
需要的同事,可以OA上发邮件给我。
2 Grid控件介绍2.1 功能介绍GridControl控件是一款非常优秀的网格控件,在VC平台上的用途非常广泛也非常灵活。
在RHEL5.5 32位操作系统上安装GridControl在RHEL5.5 32位操作系统上安装GridControl (1)1.安装和配置GridControl服务器 (2)1.1创建用户和组 (2)1.2安装必须要的软件包 (2)1.3设置oracle用户环境变量 (2)1.4安装文件名 (3)1.5开始安装 (3)1.6服务器安装信息 (12)1.7启动/停止 (12)2.升级OMS (13)3.升级AGENT (22)4.在rhel5.5_x86-64位操作系统上安装GC agent (27)5.Oracle GridControl 使用和配置教程 (36)1.安装和配置GridControl服务器1.1创建用户和组# groupadd oinstall# groupadd dba# useradd –g oinstall –G dba oracle# password oracle建软件目录如果Oracle Base目录不存在则建立:# mkdir -p /u01/app/oracle# chown -R oracle:oinstall /u01# chmod -R 775 /u01# vi /etc/sysctl.confkernel.sem = 250 32000 100 128net.core.rmem_default = 262144net.core.wmem_default = 262144net.core.rmem_max = 262144net.core.wmem_max = 262144net.ipv4.ip_local_port_range = 1024 650001.2安装必须要的软件包# yum install –y libXp.i386 libXp-devel.i3861.3设置oracle用户环境变量# more /home/oracle/.bash_profile……export ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=$ORACLE_BASE/OracleHomes/db10gexport OMS_HOME=$ORACLE_BASE/OracleHomes/oms10gexport AGENT_HOME=$ORACLE_BASE/OracleHomes/agent10gexport ORACLE_SID=emrepexport ORACLE_HOSTNAME=oraclegcexport ORACLE_OWNER=oracleexport NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"export LD_LIBRARY_PA TH=$ORACLE_HOME/lib:/usr/X11R6/lib:$LD_LIBRARY_PATH export PATH=.:$ORACLE_HOME/bin:$ORACLE_HOME/jdk/bin:$PA THexport CLASSPA TH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$CLASSPATH export LC=en_US1.4安装文件名[oracle@oraclegc GC]$ ls -alh *.zip-rw-r--r-- 1 root root 1.8G Nov 18 00:58 gc_102011_linux.zip-rw-r--r-- 1 root root 1.1G Nov 18 01:31 gc_10205_part1of2_linux.zip-rw-r--r-- 1 root root 1.1G Nov 18 01:38 gc_10205_part2of2_linux.zip1.5开始安装查看详细的错误信息。
错,故手工创建此文件。
手动启动opmn相关进程。
如果HTTP_SERVER不能启动,可以查看日志:$ tail /u01/app/oracle/OracleHomes/oms10g/opmn/logs/HTTP_Server~1,10/11/26 09:47:05 Start process--------/u01/app/oracle/OracleHomes/oms10g/Apache/Apache/bin/apachectl start: execing httpd/u01/app/oracle/OracleHomes/oms10g/Apache/Apache/bin/httpd: error while loading shared libraries: libdb.so.2: cannot open shared object file: No such file or directory解决办法:[root@rhel5 ~]# cd /usr/lib[root@rhel5 lib]# ln -s libgdbm.so.2.0.0 libdb.so.2默认情况下DSA、LogLoader、dcm-daemon三个组件不启动,可以通过下面的方式手动启动。
但在启动DSA组件时报错。
忽略此错误继续下面的安装。
到此,安装结束。
1.6服务器安装信息端口信息可参考安装后的如下文件:$OMS_HOME/install/setupinfo.txt 含有安装结束后的提示信息.$OMS_HOME/install/portlist.ini 含有各种端口信息.$AGENT_HOME/sysman/setupinfo.txt 含有GC登陆信息.登录http://主机名:4889/em //必须使用主机名登录用户名:sysman 密码:是安装时设置的1.7启动/停止启动:$ sqlplus /as sysdbastartup;$ $OMS_HOME/bin/emctl start oms$ $AGENT_HOME/bin/emctl start agent查看opmn状态# $OMS_HOME/opmn/bin/opmnctl status如果有status是down的状态,则手动启动(以LogLoader举例)$ opmnctl startproc ias-component=”LogLoader”停止:$ $OMS_HOME/bin/emctl stop oms$ $OMS_HOME/opmn/bin/opmnctl stopall$ ps -ef | grep "opmn -d" | grep -v grep (确定进程没了,可能得几分钟) $ $AGENT_HOME/bin/emctl stop agent[root@rhel5 ~]# cd /usr/lib[root@rhel5 lib]# ln -s libgdbm.so.2.0.0 libdb.so.22.升级OMS前提:升级OMS需停止HTTP_SERVER,即4889端口的服务;升级OMS需要启动数据库。
必须设置ORACLE_HOME=……../oms10g$ $OMS_HOME/bin/emctl stop oms$ $OMS_HOME/opmn/bin/opmnctl stopall$ ps -ef | grep "opmn -d" | grep -v grep (确定进程没了,可能得几分钟) $ $AGENT_HOME/bin/emctl stop agent升级文件说明:gc_10205_part1of2_linux.zipgc_10205_part2of2_linux.zip解压后得到以下几个文件:This command extracts the following files and directory:|- p3731593_10205_<platform name>.zip|- 3731596.zip|- 3822442.zip|- README.txt|- doc/升级OMS、AGENT是使用p3731593_10205_<platform name>.zip这个包,解压得到3731593目录。
查看3731593目录内容如下;安装运行的runInstaller 在Disk1/ 目录下。
3.升级AGENT前提:设置ORACLE_HOME=……/agent10g到此升级完成,使用http://........:4889/em登录4.在rhel5.5_x86-64位操作系统上安装GC agent说明:客户端使用Linux_x86_64_Grid_Control_agent_download_10_2_0_5_0.zip软件包注:使用Linux_x86_64_Grid_Control_agent_download_10_2_0_2_0.zip安装不能成功。
4.1 先在OMS主机和被监控主机的/etc/hosts文件中添加地址映射4.2 开始安装安装到这里会报错OUI-25031。
这里需要重新配置以下agent。
[oracle@rhel4oracle bin]$ pwd/opt/oracle/OracleHomes/agent10g/bin$ agentca –f //重新配置agent$ emctl start agent //启动agent代理启动成功后,打开http://oraclegc:4889/em查看没有主机信息,然后执行$ ./emctl upload agent //出错了,见下图这个错误是因为注册到OMS服务器不成功导致的,有可能是密码输入错误。
执行$ ./emctl secure agent //重新注册[oracle@rhel4oracle bin]$ ./emctl secure agentEnter Agent Registration Password : Agent successfully restarted... Done. Securing agent... Successful. //注意:此处需要输入OMS服务器的sysman用户的密码然后再打开http://oraclegc:4889/em就可以看到主机信息了。
被监控的数据库实例需要把dbsnmp用户解锁:查看被锁的用户(LOCK_DA TE为空说明没有锁定,非空为锁定)SQL> select username,account_status from dba_users;解锁方法SQL> ALTER USER USER_NAME ACCOUNT UNLOCK;1. 12. 15.Oracle GridControl 使用和配置教程5.1 配置邮件通知•先设置SMTP信息“setup”->“Notification Methods”,填写信息:•“Preferences”-> “Add Another Row”•设置邮件通知“Preferences”-> “Notification Rules”以“Host Availability and Critical States”为例,设置邮件通知。