XtraGrid的CustomUnboundColumnData事件的触发条件

XtraGrid的CustomUnboundColumnData是让非数据绑定的列触发事件。 以便于自行处理该列的显示数据与数据源。

一、CustomUnboundColumnData事件的触发条件,否则不触发。

1.将该列的UnboundType属性设置为bound(默认值)以外的数据类型

2.为该列设置一个窗体内全局唯一的FieldName,注意这个FieldName甚至不能出现在窗体上其它XtraGrid中。

说明:如果表格中部分Unbound列指定的FieldName不唯一,那么如果还有部分Unbound列符合上述条件,那么该部分列的CustomUnboundColumnData事件会正常触发。

二、CustomUnboundColumnData使用说明。

/// <summary>
/// 非数据绑定事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>

private void _gridView_CustomUnboundColumnData(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDataEventArgs e)
{
   var data = e.Row as DataInfoShow; //行数据源
   if (data == null)
       return;
   if (e.Column == _colModelDataType) //指定列
   {
        if (e.IsGetData) //绑定行指定列数据时显示文本处理
        {
           e.Value = modelMap.ModelDataTypeName;
        }
       else //指定列值改变后,同步行数据源值
       {
            var value = e.Value as ModelDataType;
            data.ModelDataType = value.ID;
            data.ModelDataTypeName = value.Name;
       }
   }
}

posted @ 2017-12-12 17:30  学习者编程  阅读(2410)  评论(2编辑  收藏  举报