1、GirdView1的常用属性C#中gridView常用属性和技巧介绍 - 凌风95时间2014-08-15 00:37:00博客园-所有随笔区原文1.隐藏最上面的GroupPanel gridView1.OptionsView.ShowGroupPanel=false; 2.得到当前选定记录某字段的值 sValue=Table.RowsgridView1.FocusedRowHandleFieldName.ToString(); 3.数据只读 gridView1.OptionsBehavior.Editable=false; 4.不显示MasterDetailView gridView1.Op
2、tionsDetail.EnableMasterViewMode=false; 5.修改最上面的GroupPanel内容 gridView1.GroupPanelText=柳生飘絮; 6.设置数据源: gridControl1.DataSource = dt; 绑定每一列的FiledName-属性 对于Oracle数据库,所有的在设计器里写的程序中的字段名必须大写,否则可能绑定不上字段,sqlserver没有这个限制. 7.读写拷贝权限设置 只读不可拷贝: ColumnViewOptionsBehavior.Editable = False 只读可拷贝: ColumnViewOptionsBe
3、havior.Editable = True OptionsColumn.AllowEdit = True OptionsColumn.ReadOnly = True 可编辑: ColumnViewOptionsBehavior.Editable = True OptionsColumn.AllowEdit = True OptionsColumn.ReadOnly = False 8.模板列的设置: 到Columns中,在他的属性中找到ColumnEdit. 以LookUpEdit为例: 首先从Designer左边菜单In-Place Editor Repository中添加LookUpEd
4、it.取名为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,f
5、sex from dual).Tables0; Re1.DisplayMember = FSEX; Re1.ValueMember = FNAME; 9.设某一列文字和标题局中显示 gridView1.Columns0.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; gridView1.Columns0.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; 10.去掉某一列上面的
6、自动筛选功能(Filter) gridView1.Columns0.OptionsFilter.AllowAutoFilter = false; gridView1.Columns0.OptionsFilter.AllowFilter = false; gridView1.Columns0.OptionsFilter.ImmediateUpdateAutoFilter = false; 11.设置冻结列(左冻结) gridView1.Columns0.Fixed= DevExpress.XtraGrid.Columns.FixedStyle.Left; 12.得到单元格数据(0行0列) str
7、ing ss=gridView1.GetRowCellDisplayText(0, gridView1.Columns0); string ss = gridView1.GetRowCellValue(0, gridView1.Columns0); 13.设置单元格数据(将0行0列的单元格赋值123) gridView1.SetRowCellValue(0, gridView1.Columns0, 123); 13.手动添加dev的列 DevExpress.XtraGrid.Columns.GridColumn Col1=new DevExpress.XtraGrid.Columns.Grid
8、Column (); Col1.FieldName=FID; Col1.Visible=true; Col1.VisibleIndex=gridView1.Columns.Count; gridView1.Columns.Add(Col1); 14.设置自动增加的行号,需要先添加给gridview添加事件CustomDrawRowIndicator private void gridview_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e
9、) if (e.Info.IsRowIndicator & e.RowHandle = 0) e.Info.DisplayText = (e.RowHandle + 1).ToString(); 15.删除: (修改了dgvdel里的datagridviewdel方法) public static void datagridviewdel_Dev(DevExpress.XtraGrid.Views.Grid.GridView Mydgv) if (MessageBox.Show(你确定要删除选中的记录吗?, 删除提示, MessageBoxButtons.YesNo, MessageBoxIc
10、on.Warning, MessageBoxDefaultButton.Button2, 0, false) = DialogResult.Yes) int iSelectRowCount = Mydgv.SelectedRowsCount; if (iSelectRowCount 0) Mydgv.DeleteSelectedRows(); 16. 新增: (对于新增,其本身的AddNewRow方法就可以做到) private void btn_add_Click(object sender, EventArgs e) gridView1.AddNewRow(); 具体如果对于新加行还有什么
11、特别的设置,可以在它gridView1_InitNewRow事件中填写: private void gridView1_InitNewRow(object sender, DevExpress.XtraGrid.Views.Grid.InitNewRowEventArgs e) ColumnView View = sender as ColumnView; View.SetRowCellValue(e.RowHandle, View.Columns0, gridView1.GetRowCellValue(gridView1.GetRowHandle(gridView1.RowCount - 2
12、), gridView1.Columns0); /复制最后一行的数据到新行 View.SetRowCellValue(e.RowHandle, View.Columns1, gridView1.GetRowCellValue(gridView1.GetRowHandle(gridView1.RowCount - 2), gridView1.Columns1); /复制最后一行的数据到新行 17. 保存 (第三方控件提供的RefreshData和RefreshDataSource方法对于保存数据都不好使,最后还是使用了Dgvsave的datagridviewsave方法,用这个方法就可以) 18
13、.特效:gridcontrol中有5种view 型式,普通的是gridview,然后分别为cardview、BandedView、Advanced BandedView、LayoutView;共5种。 1)、view组中把OptionView下的viewmode 设置成“Carousel”就达到这种“旋转木马”式的gridcontrol view 特效了 2)、layoutView1.OptionsCarouselMode.PitchAngle 这个属性决定“旋转木马”的pitch angle 螺距角; 螺旋角; 螺旋升角; 俯仰角; 倾角; 节锥半角 3)、Roll Angle 属性决定着倾
14、侧角度 4)、指定数据源,显示数据: /显示数据 private void showData(List list) DataTable dt = new DataTable(OneEmployee); dt.Columns.Add(Caption, System.Type.GetType(System.String); dt.Columns.Add(Department, System.Type.GetType(System.String); dt.Columns.Add(PhotoName, System.Type.GetType(System.Byte); for (int i = 0;
15、i = 0) object needAlert = View.GetRowCellValue(e.RowHandle, View.ColumnsneedAlert); if (needAlert != null & needAlert != DBNull.Value & needAlert.ToString().Trim() != 0 & View.GetRowCellValue(e.RowHandle, View.ColumnsValue) != DBNull.Value) decimal AverValue = Convert.ToDecimal(View.GetRowCellValue(
16、e.RowHandle, View.ColumnsValue); object MinValue = View.GetRowCellValue(e.RowHandle, View.ColumnsMinValue); object MaxVlaue = View.GetRowCellValue(e.RowHandle, View.ColumnsMaxValue); if (MinValue != DBNull.Value & MinValue != null & MaxVlaue.ToString() != & MaxVlaue != DBNull.Value & MaxVlaue != nul
17、l & MaxVlaue.ToString() != ) decimal gridColumn2 = Convert.ToDecimal(View.GetRowCellValue(e.RowHandle, View.ColumnsMinValue); decimal gridColumn1 = Convert.ToDecimal(View.GetRowCellValue(e.RowHandle, View.ColumnsMaxValue); if (gridColumn2 AverValue | AverValue gridColumn1) if (!ht.ContainsKey(pic) h
18、t.Add(pic, GetImage(1); e.Value = htpic; / / 由资源文件获取图片 / / / byte GetImage(int key) Image img = DevExpress.Utils.Controls.ImageHelper.CreateImageFromResources(string.Format(RiverSys.Resources.0.gif, key.ToString(), typeof(RiverInfos).Assembly); return DevExpress.XtraEditors.Controls.ByteImageConvert
19、er.ToByteArray(img, ImageFormat.Gif); / / 动态根据条件设置行样式 / / / private void gridView6_RowStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowStyleEventArgs e) GridView View = sender as GridView; if (e.RowHandle = 0) object needAlert = View.GetRowCellValue(e.RowHandle, View.ColumnsneedAlert); if (nee
20、dAlert != null & needAlert != DBNull.Value & needAlert.ToString().Trim() != 0 & View.GetRowCellValue(e.RowHandle, View.ColumnsValue) != DBNull.Value) decimal AverValue = Convert.ToDecimal(View.GetRowCellValue(e.RowHandle, View.ColumnsValue); object MinValue = View.GetRowCellValue(e.RowHandle, View.C
21、olumnsMinValue); object MaxVlaue = View.GetRowCellValue(e.RowHandle, View.ColumnsMaxValue); if (MinValue != DBNull.Value & MinValue != null & MaxVlaue.ToString() != & MaxVlaue != DBNull.Value & MaxVlaue != null & MaxVlaue.ToString() != ) decimal gridColumn2 = Convert.ToDecimal(MinValue); decimal gri
22、dColumn1 = Convert.ToDecimal(MaxVlaue); if (gridColumn2 AverValue | AverValue gridColumn1) e.Appearance.ForeColor = Color.Red; e.Appearance.BackColor = Color.LightGray; 三、GridControl 中颜色选择控件 private void gvMapColor_CustomUnboundColumnData(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDat
23、aEventArgs e) GridView view = sender as GridView; DataView dv = view.DataSource as DataView; if (e.IsGetData) string strVal = dve.ListSourceRowIndexColor.ToString(); if (strVal != ) /e.Value = DevExpress.Utils.StyleLayout.ColorFromString(strVal); e.Value = Common.HexToColor(strVal); else /Color colorVal = DevExpress.Utils.StyleLayout.ColorFromString(e.Value.ToString(); Color colorVal = (Color)e.Value; dve.ListSourceRowIndexColor = Common.RGB_HEX(colorVal.ToArgb(); 四、关于 GridControl 验证示例 / / 初始化GridView,绑定数据 / / private void G
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1