1、在GirdView添加选择选择框,如下图
//获取CheckBox为选中状态的数据 2024-04-08 更新 int[] si = this.gridView1.GetSelectedRows()//获取所有选中状态的数据 bool b = this.gridView1.IsRowSelected(i);//获取某行是否为选中状态,i为某行的索引, this.gridView1.SelectAll();//设置默认为全选状态
2、girdView数据填充 如下图所示
3、获取 girdControl 中 girdView中的选中数据
int[] selectedRows = this.gridView1.GetSelectedRows(); foreach (int index in selectedRows) { DataRow dr = this.gridView1.GetDataRow(index); }
//获取当前行 2021-07-14 DataRow dr = this.gridView1.GetDataRow(this.gridView1.FocusedRowHandle);
4、让girdControl显示行号,效果图如下
实现代码
//注册事件 private void gridView1_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e) { if (e.Info.IsRowIndicator && e.RowHandle > -1) { e.Info.DisplayText = (e.RowHandle + 1).ToString(); } } //有时候行号宽度不够 还需要设置: gridView1.IndicatorWidth = 35;
5、设置DevExpress gridControl gridView列按扭样式 2019-10-14更新
//设置 DevExpress gridControl gridView列的默认值 this.repositoryItemHyperLinkEdit1.NullText = "查看"; //设置 DevExpress gridControl gridView列不可以编辑 gridView1.Columns["列名"].OptionsColumn.AllowEdit = false;
6、如何解决单击记录整行选中的问题
View->OptionsBehavior->EditorShowMode 设置为:Click
7、如何新增一条记录
(1)、gridView.AddNewRow()
(2)、实现gridView_InitNewRow事件
8、如何解决GridControl记录能获取而没有显示出来的问题
gridView.populateColumns();
9、如何让行只能选择而不能编辑(或编辑某一单元格)
(1)、View->OptionsBehavior->EditorShowMode 设置为:Click
(2)、View->OptionsBehavior->Editable 设置为:false
10、如何禁用GridControl中单击列弹出右键菜单
设置Run Design->OptionsMenu->EnableColumnMenu 设置为:false
11、如何隐藏GridControl的GroupPanel表头
设置Run Design->OptionsView->ShowGroupPanel 设置为:false
12、如何禁用GridControl中列头的过滤器
设置 Run Design->OptionsCustomization->AllowFilter 设置为:false
13、如何在查询得到0条记录时显示自定义的字符提示/显示
private void 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); } } }
14、如何显示水平滚动条?
设置this.gridView.OptionsView.ColumnAutoWidth = false;
15、如何定位到第一条数据/记录?
设置 this.gridView.MoveFirst()
16、如何定位到下一条数据/记录?
设置 this.gridView.MoveNext()
17、如何定位到最后一条数据/记录?
设置 this.gridView.MoveLast()
18、设置成一次选择一行,并且不能被编辑
this.gridView1.FocusRectStyle = DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus;
this.gridView1.OptionsBehavior.Editable = false;
this.gridView1.OptionsSelection.EnableAppearanceFocusedCell = false;
19、如何让各列头禁止移动?
设置gridView1.OptionsCustomization.AllowColumnMoving = false;
20、如何让各列头禁止排序?
设置gridView1.OptionsCustomization.AllowSort = false;
21、如何禁止各列头改变列宽?
设置gridView1.OptionsCustomization.AllowColumnResizing = false;
22、动态设置当前行颜色
public Form1() { InitializeComponent(); this.gridView1.OptionsSelection.EnableAppearanceFocusedCell = false;//只选中行 this.gridView1.OptionsSelection.EnableAppearanceFocusedRow = false;//启用选中行变色 //this.gridView1.Appearance.FocusedRow.BackColor = System.Drawing.Color.GreenYellow; this.gridView1.RowStyle += new DevExpress.XtraGrid.Views.Grid.RowStyleEventHandler(this.gridView1_RowStyle); } private void gridView1_RowStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowStyleEventArgs e) { if (e.RowHandle == this.gridView1.FocusedRowHandle) { e.Appearance.BackColor = Color.GreenYellow; } } //调用触发事件 // gridView1.FocusedRowHandle = 行号;
23、常用的属性设置
gridView1.OptionsCustomization.AllowColumnMoving = false;//如何让各列头禁止移动 gridView1.OptionsCustomization.AllowFilter = false;//不允许过滤 gridView1.OptionsCustomization.AllowSort = false;//不允许排序 gridView1.OptionsCustomization.AllowGroup = false;//不允许分组 gridView1.OptionsView.ShowGroupPanel = false;//不显示组面板 gridView1.OptionsSelection.MultiSelect = true;//可以多选 gridView1.OptionsSelection.MultiSelectMode = DevExpress.XtraGrid.Views.Grid.GridMultiSelectMode.CheckBoxRowSelect;//RowSelect; //选择模式MultiSelectMode = CheckBoxRowSelect, gridView1.OptionsSelection.UseIndicatorForSelection = false; //行头点击不对选择框操作 gridView1.OptionsView.ColumnAutoWidth = true;//列宽自动 gridView1.OptionsCustomization.AllowColumnResizing = false;//不允许改变列宽 gridView1.OptionsBehavior.Editable = true;//允许编辑 gridView1.OptionsView.EnableAppearanceEvenRow = true;//设置奇、偶行交替颜色 gridView1.OptionsView.EnableAppearanceOddRow = true;//设置奇、偶行交替颜色 gridView1.Appearance.EvenRow.BackColor=Color.DeepSkyBlue; gridView1.Appearance.OddRow.BackColor = Color.CornflowerBlue; this.gridView1.IndicatorWidth = 30;//设置显示行号的列宽