一、如何解决单击记录整行选中的问题
View->OptionsBehavior->EditorShowMode 设置为:Click
二、如何新增一条记录
(1)、gridView.AddNewRow()
(2)、DataTable dt = this.gridControl1.DataSource as DataTable;//直接对数据源添加
dt.Rows.Add(dt.NewRow());
三、如何解决GridControl记录能获取而没有显示出来的问题
gridView.populateColumns();
四、如何让行只能选择而不能编辑(或编辑某一单元格)
(1)、View->OptionsBehavior->EditorShowMode 设置为:Click
(2)、View->OptionsBehavior->Editable 设置为:
false
五、如何禁用GridControl中单击列弹出右键菜单
设置Run Design->OptionsMenu->EnableColumnMenu 设置为:
false
六、如何隐藏GridControl的GroupPanel表头
设置Run Design->OptionsView->ShowGroupPanel 设置为:
false
七、如何显示水平滚动条?
设置
this
.gridView.OptionsView.ColumnAutoWidth =
false
;
八、如何定位到第一条数据/记录?
设置
this
.gridView.MoveFirst()
九、如何定位到下一条数据/记录?
设置
this
.gridView.MoveNext()
十、如何定位到最后一条数据/记录?
设置
this
.gridView.MoveLast()
十一、设置成一次选择一行,并且不能被编辑
this
.gridView1.FocusRectStyle = DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus;
this
.gridView1.OptionsBehavior.Editable =
false
;
this
.gridView1.OptionsSelection.EnableAppearanceFocusedCell =
false
;
十二、如何显示行号?
this
.gridView1.IndicatorWidth = 40;
//显示行的序号
private
void
gridView1_CustomDrawRowIndicator(
object
sender, RowIndicatorCustomDrawEventArgs e)
{
if
(e.Info.IsRowIndicator && e.RowHandle>=0)
{
e.Info.DisplayText = (e.RowHandle + 1).ToString();
}
}
十三、如何让各列头禁止移动?
设置gridView1.OptionsCustomization.AllowColumnMoving =
false
;
十四、如何让各列头禁止排序?
设置gridView1.OptionsCustomization.AllowSort =
false
;
十五、如何禁止各列头改变列宽?
设置gridView1.OptionsCustomization.AllowColumnResizing =
false
;
十六、得到当前选定记录某字段的值
sValue=Table.Rows[gridView1.FocusedRowHandle][FieldName].ToString();
十七、数据只读
gridView1.OptionsBehavior.Editable=
false
;
十八、修改最上面的GroupPanel内容
gridView1.GroupPanelText=
"柳生飘絮"
;
十九、设置数据源:
gridControl1.DataSource = dt;
绑定每一列的FiledName--属性
对于Oracle数据库,所有的在设计器里写的程序中的字段名必须大写,否则可能绑定不上字段,sqlserver没有这个限制.
二十、读写拷贝权限设置
只读不可拷贝:
ColumnViewOptionsBehavior.Editable = False
只读可拷贝:
ColumnViewOptionsBehavior.Editable = True
OptionsColumn.AllowEdit = True
OptionsColumn.ReadOnly = True
可编辑:
ColumnViewOptionsBehavior.Editable = True
OptionsColumn.AllowEdit = True
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=newDevExpress.XtraGrid.Columns.GridColumn ();
Col1.FieldName=
"FID"
;
Col1.Visible=
true
;
Col1.VisibleIndex=gridView1.Columns.Count;
gridView1.Columns.Add(Col1);
二十七、删除
public
static
voiddatagridviewdel_Dev(DevExpress.XtraGrid.Views.Grid.GridView Mydgv)
{
if
(MessageBox.Show(
"你确定要删除选中的记录吗?"
,
"删除提示"
,MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2, 0,
false
) == DialogResult.Yes)
{
intiSelectRowCount = Mydgv.SelectedRowsCount;
if
(iSelectRowCount > 0)
{
Mydgv.DeleteSelectedRows();
}
}
}
二十八、检查数据的有效性
在gridview的ValidateRow事件中加入检查代码:
private
void
gridView1_ValidateRow(
object
sender, ValidateRowEventArgse)
{
GridView view = sender
as
GridView;
view.ClearColumnErrors();
if
(view.GetRowCellValue(e.RowHandle,
"ReceiveDate"
) ==DBNull.Value)
{
e.Valid =
false
;
view.SetColumnError(view.Columns[
"ReceiveDate"
],
"必须指定日期"
);
}
}
调用gridview.UpdateCurrentRow()方法执行检查