private Dictionary<string, object> ToGridItemsDictionary( GridViewRow gridViewRow, object dataItem )
{
var dictionary = new Dictionary<string, object>();
if ( this.DataItemPropertiesDictionary == null )
{
PopulateDataItemPropertiesDictionary( dataItem );
}
foreach ( var dataFieldItem in DataItemPropertiesDictionary )
{
var dataFieldValue = dataFieldItem.Value.PropertyInfo.GetValue( dataItem, null );
if ( dataFieldItem.Value.GridField is DefinedValueField )
{
var definedValue = ( dataFieldItem.Value.GridField as DefinedValueField ).GetDefinedValue( dataFieldValue );
dataFieldValue = definedValue != null ? definedValue.Value : null;
}
dictionary.Add( dataFieldItem.Key, dataFieldValue );
}
return dictionary;
}