使用下面的示例代码,以获得当前编辑的值。
string editingValue;
if(gridControl1.KeyboardFocusView.IsEditing)
editingValue = gridControl1.KeyboardFocusView.EditingValue.ToString();
///
/// 由资源文件获取图片 ///
/// byte[] GetImage(int key) {
Image img = DevExpress.Utils.Controls.ImageHelper.CreateImageFromResources(string.Format(\sources.{0}.gif\ return DevExpress.XtraEditors.Controls.ByteImageConverter.ToByteArray(img, ImageFormat.Gif); }
private void rILinkEditInfoDel_Click(object sender, EventArgs e)
{
if (XtraMessageBox.Show(\请确定是否删除当前记录?\\警告\MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes) {
DataRow row = gvInfos.GetDataRow(gvInfos.FocusedRowHandle); delByCode(row[\ XtraMessageBox.Show(\操作成功!\ }
}二、绑定非数据表中列
Hashtable ht = new Hashtable();
private
void
gridView6_CustomUnboundColumnData(object
sender,
DevExpress.XtraGrid.Views.Base.CustomColumnDataEventArgs e) {
GridView View = sender as GridView; if (e.RowHandle >= 0) {
object
needAlert
=
View.GetRowCellValue(e.RowHandle,
View.Columns[\
if (needAlert != null & needAlert != DBNull.Value && needAlert.ToString().Trim() != \alue(e.RowHandle, View.Columns[\alue\alue) {
decimal AverValue = Convert.ToDecimal(View.GetRowCellValue(e.RowHandle, View.Columns[\alue\ object MinValue View.Columns[\alue\ object MaxVlaue View.Columns[\alue\
if (MinValue != DBNull.Value & MinValue != null & MaxVlaue.ToString() != \& MaxVlaue != DBNull.Value && MaxVlaue != null & MaxVlaue.ToString() != \ {
decimal
gridColumn2
= =
Convert.ToDecimal(View.GetRowCellValue(e.RowHandle, View.Columns[\alue\ decimal gridColumn1 Convert.ToDecimal(View.GetRowCellValue(e.RowHandle, View.Columns[\alue\ if (gridColumn2 > AverValue || AverValue > gridColumn1) {
if (!ht.ContainsKey(\ ht.Add(\ e.Value = ht[\ } } }
} }
///
/// 由资源文件获取图片 ///
/// byte[] GetImage(int key) {
Image
img
=
= =
View.GetRowCellValue(e.RowHandle, View.GetRowCellValue(e.RowHandle,
DevExpress.Utils.Controls.ImageHelper.CreateImageFromResources(string.Format(\sources.{0}.gif\ return
ImageFormat.Gif); }
///
/// 动态根据条件设置行样式 ///
///
DevExpress.XtraEditors.Controls.ByteImageConverter.ToByteArray(img,
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.Columns[\
if (needAlert != null & needAlert != DBNull.Value && needAlert.ToString().Trim() != \alue(e.RowHandle, View.Columns[\alue\alue) {
decimal AverValue = Convert.ToDecimal(View.GetRowCellValue(e.RowHandle, View.Columns[\alue\
object MinValue View.Columns[\alue\
object MaxVlaue View.Columns[\alue\
= =
View.GetRowCellValue(e.RowHandle, View.GetRowCellValue(e.RowHandle,
if (MinValue != DBNull.Value & MinValue != null & MaxVlaue.ToString() != \& MaxVlaue != DBNull.Value && MaxVlaue != null & MaxVlaue.ToString() != \ {
decimal gridColumn2 = Convert.ToDecimal(MinValue); decimal gridColumn1 = 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.CustomColumnDataEventArgs e) {
GridView view = sender as GridView;
DataView dv = view.DataSource as DataView; if (e.IsGetData)
{
string strVal = dv[e.ListSourceRowIndex][\ 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;
dv[e.ListSourceRowIndex][\al.ToArgb()); }
}四、关于 GridControl 验证示例
/**////
/// 初始化GridView,绑定数据 ///
///
this.gridView1.Columns.Clear();
this.FDs= areaSetupActionHelper.getDsRegionByParentId(parentId); this.gridCArea.DataSource =this.FDs.Tables[0].DefaultView;
this.gridView1.Columns[\
this.gridView1.Columns[\
this.gridView1.Columns[\区划编号\ this.gridView1.Columns[\区划名称\ this.gridView1.Columns[\父区划编号\ this.gridView1.Columns[\区划描述\ this.gridView1.Columns[\ this.gridView1.Columns[\
RepositoryItemTextEdit textEditReg_Id = new RepositoryItemTextEdit(); textEditReg_Id.Mask.EditMask =parentId+\
textEditReg_Id.Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.Regular;
this.gridView1.Columns[\
this.gridView1.Columns[\
TreeListNode node = this.treelArea.FocusedNode.ParentNode; string fid = node==null?\alue(\ DataSet ds = areaSetupActionHelper.getDsRegionByParentId(fid);
RepositoryItemLookUpEdit lookUEParent_Id = new RepositoryItemLookUpEdit(); lookUEParent_Id.Columns.Add(new LookUpColumnInfo(\区划编号\ lookUEParent_Id.Columns.Add(new LookUpColumnInfo(\区划名称\
=
lookUEParent_Id.DataSource = ds.Tables[0].DefaultView;
lookUEParent_Id.ValueMember = \ lookUEParent_Id.DisplayMember = \
this.gridView1.Columns[\}
/**////
/// gridView单元格验证的相关处理程序 ///
///
private void gridView1_ValidatingEditor(object DevExpress.XtraEditors.Controls.BaseContainerValidateEditorEventArgs e) { if (e.Valid == false&this.gridView1.FocusedColumn.FieldName == \
{
e.ErrorText = \区划编号不合法!\\n应为父区划编号加2~3位数据组成!\ }
if (this.gridView1.FocusedColumn.FieldName == \ {
Regex reg=new Regex(@\ Match m=reg.Match(e.Value.ToString().Trim()); if (m.Length != e.Value.ToString().Trim().Length) { e.Valid = false;
e.ErrorText = \区划名称应为汉字\\n长度为1至20\ } }
}
private void gridView1_InvalidValueException(object sender, InvalidValueExceptionEventArgs e) {
if (MyDialog.Alert(\ 您所填写的内容不符合规则\\n 要放弃您刚才对此项所做的更改吗?\\您所编辑的内容不符合规则\MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
{
e.ExceptionMode = ExceptionMode.Ignore; } }
/**////
/// gridView行验证的相关处理程序
/// private void gridView1_ValidateRow(object DevExpress.XtraGrid.Views.Base.ValidateRowEventArgs e)
sender, sender,