RecordGroupDataSourceService
/// <summary>
/// Convert value to string
/// </summary>
/// <param name="context"></param>
/// <param name="culture"></param>
/// <param name="value"></param>
/// <param name="destinationType"></param>
/// <returns></returns>
public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType)
{
if (destinationType == typeof(string))
{
if (value == null || value.Equals(string.Empty))
{
return string.Empty;
}
if (this.recordGroup != null && this.recordGroup.Parent != null)
{
if (!string.IsNullOrEmpty(this.ValueMember))
{
if (this.ValueMember.Equals(this.DisplayMember, StringComparison.OrdinalIgnoreCase))
{
return Convert.ToString(value);
}
else
{
object item = recordGroup.GetData(this.ValueMember, value);
if (item != null)
{
DataRow row = item as DataRow;
if (row != null)
{
if (!string.IsNullOrEmpty(this.DisplayMember))
return Convert.ToString(row[this.DisplayMember]);
else
return Convert.ToString(row[this.ValueMember]);
}
else
{
if (this.DisplayMemberProperty != null)
{
return Convert.ToString(this.GetItemDisplayValue(item));
}
else
{
return Convert.ToString(value);
}
}
}
}
}
else
{
return Convert.ToString(value);
}
}
}
return base.ConvertTo(context, culture, value, destinationType);
}
/// Convert value to string
/// </summary>
/// <param name="context"></param>
/// <param name="culture"></param>
/// <param name="value"></param>
/// <param name="destinationType"></param>
/// <returns></returns>
public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType)
{
if (destinationType == typeof(string))
{
if (value == null || value.Equals(string.Empty))
{
return string.Empty;
}
if (this.recordGroup != null && this.recordGroup.Parent != null)
{
if (!string.IsNullOrEmpty(this.ValueMember))
{
if (this.ValueMember.Equals(this.DisplayMember, StringComparison.OrdinalIgnoreCase))
{
return Convert.ToString(value);
}
else
{
object item = recordGroup.GetData(this.ValueMember, value);
if (item != null)
{
DataRow row = item as DataRow;
if (row != null)
{
if (!string.IsNullOrEmpty(this.DisplayMember))
return Convert.ToString(row[this.DisplayMember]);
else
return Convert.ToString(row[this.ValueMember]);
}
else
{
if (this.DisplayMemberProperty != null)
{
return Convert.ToString(this.GetItemDisplayValue(item));
}
else
{
return Convert.ToString(value);
}
}
}
}
}
else
{
return Convert.ToString(value);
}
}
}
return base.ConvertTo(context, culture, value, destinationType);
}