var col =
new
GridViewDataColumn
{
DataMemberBinding =
new
Binding(column.Name),
Header = column.Header,
ToolTip =
new
Binding(column.Description)
};<
telerik:RadGridView
x:Name
=
"dgvResults"
AutoGenerateColumns
=
"False"
CanUserDeleteRows
=
"False"
SelectionMode
=
"Extended"
IsReadOnly
=
"True"
ShowGroupPanel
=
"False"
CanUserFreezeColumns
=
"False"
IsFilteringAllowed
=
"True"
RowIndicatorVisibility
=
"Collapsed"
ScrollMode
=
"Deferred"
EnableRowVirtualization
=
"True"
EnableColumnVirtualization
=
"True"
ColumnWidth
=
"170"
>
..............
</
telerik:RadGridView
>
<
telerik:RadCarousel
Name
=
"myCarousel"
HorizontalContentAlignment
=
"Stretch"
VerticalAlignment
=
"Top"
VerticalContentAlignment
=
"Center"
Height
=
"43"
Padding
=
"0"
IsSynchronizedWithCurrentItem
=
"True"
VerticalScrollBarVisibility
=
"Hidden"
HorizontalScrollBarVisibility
=
"Hidden"
Background
=
"{x:Null}"
Margin
=
"25,0,2,0"
PreviewMouseDown
=
"effectiveDateCarousel_PreviewMouseDown"
PreviewKeyDown
=
"effectiveDateCarousel_PreviewKeyDown"
PreviewMouseWheel
=
"effectiveDateCarousel_PreviewMouseWheel"
>
<
telerik:RadCarousel.ItemsPanel
>
<
ItemsPanelTemplate
>
<
telerik:RadCarouselPanel
HorizontalAlignment
=
"Stretch"
VerticalAlignment
=
"Center"
Path
=
"{StaticResource path}"
IsSelectedTopItem
=
"True"
/>
</
ItemsPanelTemplate
>
</
telerik:RadCarousel.ItemsPanel
>
</
telerik:RadCarousel
>
RadCarouselPanel panel = myCarousel.FindCarouselPanel();
panel.ItemsPerPage = 7;
class MaxEnumFlagsDescriptor : FilterDescriptor
{
private FilterDescriptor<MaintenanceBoxDataDataTableRow> Filter;
private string dataMember;
/// <summary>
/// Initializes a new instance of the <see cref="MaxEnumFlagsDescriptor"/> class.
/// </summary>
/// <param name="control">The column.</param>
/// <param name="dataMember">The data member.</param>
/// <param name="enumType">Type of the enum.</param>
public MaxEnumFlagsDescriptor(MaxFilteringControl control, string dataMember, Type enumType)
{
if (dataMember.StartsWith("["))
dataMember = dataMember.RemoveFromStart(1).RemoveFromEnd(1);
this.Control = control;
this.Column = control.GridColumn as GridViewBoundColumnBase;
this.dataMember = dataMember;
this.EnumType = enumType;
Filter = new FilterDescriptor<MaintenanceBoxDataDataTableRow>();
Filter.FilteringExpression = (e) => (Check(e));
}
/// <summary>
/// Creates the filter expression.
/// </summary>
/// <param name="instance">The instance.</param>
/// <returns></returns>
public override System.Linq.Expressions.Expression CreateFilterExpression(System.Linq.Expressions.Expression instance)
{
return Filter.CreateFilterExpression(instance);
}
private bool Check(DataRow row)
{
if (this.DistinctValue == null || !this.Control.IsActive)
return true;
var desc = this.DistinctValue; // this was available in the ColumnFilterDescriptor. originaly
// in the class (so how to get it..)
// HOW TO GET THE CHECKED VALUES OF THE DISTINCT VALUE LIST
if (!desc.Any())
return true;
Debug.Assert(row != null, "Should have found a Row");
if (row != null)
{
var inf = row[this.dataMember];
if (inf == DBNull.Value)
inf = null;
if (inf == null)
return desc.Any(c => c == null);
else
{
var enumType = this.EnumType;
try
{
var val = Enum.ToObject(enumType, inf).ToString();
return desc.Any(c => IsInclude(c, val, enumType));
}
catch (System.Exception ex)
{
// In case of old value
Debug.Fail(ex.Message);
return false;
}
}
}
return true;
}
private static bool IsInclude(object value, string data, Type enumType)
{
var val = Enum.ToObject(enumType, value).ToString();
return data.IndexOf(val) >= 0;
}
}
<
code
>CanUserFreezeColumns="False" RowIndicatorVisibility="Collapsed" AutoGenerateColumns="False" IsReadOnly="True" ScrollMode="Deferred" telerik:StyleManager.Theme="Metro" FontSize="11" ShowGroupPanel="False" RowHeight="18" Grid.Row="1" Width="1320" MaxWidth="1320" MinHeight="800" MaxHeight="1000"</
code
>