1、gridcontrol控件学习总结GridControl(基于GridView)总结gridControl设计器设计器中左边导航部分Views是用于设计gridControl的布局,Columns是用于设计gridControl中列,列属性中的Name是指列明,FileName是指对应的数据库字段(实体类、BaseValue)的名称,Caption是指定列标题显示文本(类似TextBox中的Text属性)。Appearances是设计控件的外观样式。注:options(选项)下的属性用于设置页面布局。gridControl绑定DevExpress中的控件绑定数据源时,都不需要调用DataBin
2、d()方法。this.gridControl1.DataSource = getGoodsInfo.GetGoodsInfoDT(typeId);注:使用泛型集合绑定数据源,在GridView中实现自动添加行时,AddNewRow()方法不起效。在获取数据行时,GetDataRow()方法报错。如果使用gridcontrol用于只呈现数据可以使用泛型集合作为数据源,如果涉及到增、删、改建议使用DataTable作为数据源,这样以上两个方法可以正常使用。gridControl实现自动添加行this.gridView1.AddNewRow(); /only one line codegridCon
3、trol获取修改行的数据gridControl常用函数介绍 GetDataRow() 用于获取指定索引的行。 GetFocusedRowCellValue() 获取鼠标选中行的某列值。 GetRowCellValue() 获取某行某列的值。关于XtraGrid的使用(GridControl小结)DevExpress XtraGrid的使用(AspxGridControl小结) 收藏 自定义焦点行的方法 gridView_bcode.FocusedRowHandle = focuseRowInt; /通过设置GridView 的FocusedRowHandle属性view plaincopy t
4、o clipboardprint?获取焦点行任意单元格的数据 ColumnView cv = (ColumnView)gridControl_Gongzi.FocusedView;/重新获取此ID 否则无法从表头连删获取不到id int focusedhandle = cv.FocusedRowHandle; object rowIdObj = gridView1.GetRowCellValue(focusedhandle, id); if (DBNull.Value != rowIdObj) FocusedRow_id = Convert.ToInt32(rowIdObj); 获取焦点行任意
5、单元格的数据 ColumnView cv = (ColumnView)gridControl_Gongzi.FocusedView;/重新获取此ID 否则无法从表头连删获取不到id int focusedhandle = cv.FocusedRowHandle; object rowIdObj = gridView1.GetRowCellValue(focusedhandle, id); if (DBNull.Value != rowIdObj) FocusedRow_id = Convert.ToInt32(rowIdObj); view plaincopy to clipboardprin
6、t?当数据发生变化时执行 private void gridView1_CellValueChanged(object sender, CellValueChangedEventArgs e) int intRowHandle = e.RowHandle; FocusedRow_bumen = Convert.ToString(gridView1.GetRowCellValue(intRowHandle, bumen); FocusedRow_xingming = Convert.ToString(gridView1.GetRowCellValue(intRowHandle, xingming
7、); /FocusedRow_jibengongzi = Convert.ToDecimal(gridView1.GetRowCellValue(intRowHandle, jibengongzi); object rowJibengongziObj = gridView1.GetRowCellValue(intRowHandle, jibengongzi); if (DBNull.Value != rowJibengongziObj) FocusedRow_jibengongzi = Convert.ToDecimal(rowJibengongziObj); 当数据发生变化时执行 priva
8、te void gridView1_CellValueChanged(object sender, CellValueChangedEventArgs e) int intRowHandle = e.RowHandle; FocusedRow_bumen = Convert.ToString(gridView1.GetRowCellValue(intRowHandle, bumen); FocusedRow_xingming = Convert.ToString(gridView1.GetRowCellValue(intRowHandle, xingming); /FocusedRow_jib
9、engongzi = Convert.ToDecimal(gridView1.GetRowCellValue(intRowHandle, jibengongzi); object rowJibengongziObj = gridView1.GetRowCellValue(intRowHandle, jibengongzi); if (DBNull.Value != rowJibengongziObj) FocusedRow_jibengongzi = Convert.ToDecimal(rowJibengongziObj); view plaincopy to clipboardprint?设
10、置焦点行的焦点单元格的位置 ColumnView view = (ColumnView)gridControl_Gongzi.FocusedView; view.FocusedColumn = view.Columnsbumen; 设置焦点行的焦点单元格的位置ColumnView view = (ColumnView)gridControl_Gongzi.FocusedView;view.FocusedColumn = view.Columnsbumen; view plaincopy to clipboardprint?当焦点行发生改变时执行 获取选中焦点行id private void g
11、ridView1_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e) int intRowHandle = e.FocusedRowHandle; object rowIdObj = gridView1.GetRowCellValue(intRowHandle, id); if (DBNull.Value != rowIdObj)/做个判断否则获取不到id后报错 FocusedRow_id = Convert.ToInt32(rowIdObj); 当焦点行发生
12、改变时执行 获取选中焦点行id private void gridView1_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e) int intRowHandle = e.FocusedRowHandle; object rowIdObj = gridView1.GetRowCellValue(intRowHandle, id); if (DBNull.Value != rowIdObj)/做个判断否则获取不到id后报错 FocusedRow_id = Con
13、vert.ToInt32(rowIdObj); view plaincopy to clipboardprint?焦点行的FocusedHandle FocuseRow_Handle = -999998; 获取焦点行的handle ColumnView newview = (ColumnView)gridControl_Gongzi.FocusedView; FocuseRow_Handle = newview.FocusedRowHandle; 回车添加新行 private void gridView1_KeyPress(object sender, KeyPressEventArgs e)
14、 if (e.KeyChar = 13) ColumnView view = (ColumnView)gridControl_Gongzi.FocusedView; if(view.IsLastRow) if (FocuseRow_Handle = 0) gridView1.AddNewRow(); ColumnView newview = (ColumnView)gridControl_Gongzi.FocusedView; newview.FocusedColumn = newview.Columnsbumen;/定位焦点网格的位置 FocuseRow_Handle = newview.F
15、ocusedRowHandle;/获取新焦点行的 FocuseRowHandle 并初始化全局变量FocuseRow_Handle供保存操作时判断是update还是insert Gridcontrol的作用笔记girdView在第一列显示行号调整第一列的宽度this.gridView1.IndicatorWidth = 40;添加监听事件this.gridView1.CustomDrawRowIndicator += new DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventHandler(this.gridView1_Cust
16、omDrawRowIndicator);/在非类里这段代码private void gridView1_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e) . if (e.Info.IsRowIndicator & e.RowHandle = 0) . e.Info.DisplayText = Convert.ToString(Convert.ToInt32(e.RowHandle.ToString()+1); private void m
17、nuLoad_Click(object sender, System.EventArgs e) / TODO: Load Customers Database db = null; db = DatabaseFactory.CreateDatabase(); DataSet ds = db.ExecuteDataSet( CommandType.Text, SELECT ID,Name,Age From UserInfo); gridControl1.DataSource = ds.Tables0;设置成一次选择一行,并且不能被编辑 this.gridView1.FocusRectStyle
18、= DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus; this.gridView1.OptionsBehavior.Editable = false; this.gridView1.OptionsSelection.EnableAppearanceFocusedCell = false; 设置列的标题 gridView1.Columns0.Caption = 编号; gridView1.Columns1.Caption = 名称; gridView1.Columns2.Caption = 年龄; 设置列的名称,便于进行分组和
19、Foot的统计等信息显示 gridView1.Columns0.Name = ID; gridView1.Columns1.Name = Name; gridView1.Columns2.Name = Age;增加一个Group列进行分组 this.gridView1.GroupSummary.AddRange(new DevExpress.XtraGrid.GridSummaryItem new DevExpress.XtraGrid.GridGroupSummaryItem(DevExpress.Data.SummaryItemType.Count, ID, null, (Count=0)
20、;增加一个Group列进行分组 this.gridView1.GroupSummary.AddRange(new DevExpress.XtraGrid.GridSummaryItem new DevExpress.XtraGrid.GridGroupSummaryItem(DevExpress.Data.SummaryItemType.Max , Age, null, (Max=0);设置并制作Foot下面的统计信息 this.gridView1.GroupFooterShowMode = DevExpress.XtraGrid.Views.Grid.GroupFooterShowMode.
21、VisibleAlways; this.gridView1.OptionsView.ShowFooter = true;XX文库 - 让每个人平等地提升自我 gridView1.Columns2.SummaryItem.DisplayFormat = (Age=0); gridView1.Columns2.SummaryItem.FieldName = Age; gridView1.Columns2.SummaryItem.SummaryType = DevExpress.Data.SummaryItemType.Sum; 设置成cardview格式 private void menuItem2_Click(object sender, EventArgs e) gridControl1.MainView = this.cardView1; 设置成GridView格式 private void menuItem4_Click(object sender, EventArgs e) gridControl1.MainView = this.gridView1 ; 自己模仿着写吧,相信大家很快都会成为高手的。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1