<telerik:RadGridView |
Name="RadGridPhoneList" HorizontalAlignment="Left" |
IsReadOnly="True" |
telerik:StyleManager.Theme="Simple" |
RowIndicatorVisibility="Collapsed" AutoGenerateColumns="False" |
ColumnsWidthMode="Fill" |
CanUserFreezeColumns="False" |
ItemsSource="{Binding Path=PersonPhoneViewModels}" |
> |
<telerik:RadGridView.Columns> |
<telerik:GridViewDataColumn |
HeaderText="Phone Number" |
UniqueName ="PhoneNumber" |
> |
<telerik:GridViewColumn.CellTemplate> |
<DataTemplate> |
<telerik:RadMaskedTextBox |
x:Name="TextBoxNumber" |
Mask="(###) ### - ####" |
Width="100" |
Value="{Binding Path=PhoneNumber, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" |
/> |
</DataTemplate> |
</telerik:GridViewColumn.CellTemplate> |
</telerik:GridViewDataColumn> |
<telerik:GridViewDataColumn |
HeaderText="Extension" |
DataMemberPath="Extension" |
UniqueName ="Extension" |
/> |
<telerik:GridViewComboBoxColumn |
HeaderText="Phone Type" |
UniqueName ="PhoneType"> |
<telerik:GridViewColumn.CellTemplate> |
<DataTemplate> |
<ComboBox |
VerticalAlignment="Center" |
ItemsSource="{Binding Path=PhoneTypeOptions, Mode=OneTime}" |
IsSynchronizedWithCurrentItem="true" |
SelectedItem="{Binding Path=PhoneType}" |
/> |
</DataTemplate> |
</telerik:GridViewColumn.CellTemplate> |
</telerik:GridViewComboBoxColumn> |
<telerik:GridViewComboBoxColumn |
HeaderText="Phone Provider" |
UniqueName ="PhoneProviderType"> |
<telerik:GridViewColumn.CellTemplate> |
<DataTemplate> |
<ComboBox |
VerticalAlignment="Center" |
ItemsSource="{Binding Path=PhoneProviderOptions, Mode=OneTime}" |
IsSynchronizedWithCurrentItem="true" |
SelectedItem="{Binding Path=PhoneProviderType}" |
/> |
</DataTemplate> |
</telerik:GridViewColumn.CellTemplate> |
</telerik:GridViewComboBoxColumn> |
<!-- allows gouping, but not edit --> |
<telerik:GridViewDataColumn |
HeaderText="Is Default" |
UniqueName="IsDefault"> |
<telerik:GridViewColumn.CellTemplate> |
<DataTemplate> |
<CheckBox |
VerticalAlignment="Center" |
IsChecked="{Binding Path=IsDefault}" |
/> |
</DataTemplate> |
</telerik:GridViewColumn.CellTemplate> |
</telerik:GridViewDataColumn> |
<!-- does not allows gouping, but can edit --> |
<telerik:GridViewDataColumn |
HeaderText="Is Default"> |
<telerik:GridViewColumn.CellTemplate> |
<DataTemplate> |
<CheckBox |
VerticalAlignment="Center" |
IsChecked="{Binding Path=IsDefault}" |
/> |
</DataTemplate> |
</telerik:GridViewColumn.CellTemplate> |
</telerik:GridViewDataColumn> |
<telerik:GridViewDataColumn |
HeaderText="Note" |
IsCustomSortingEnabled="True" |
IsFilterable="True" |
DataMemberPath="Note"> |
</telerik:GridViewDataColumn> |
</telerik:RadGridView.Columns> |
</telerik:RadGridView> |
I want to be able to change the hierarchy in a treeview based on user request. For example, I have a List<vehicles> like this (below) that I want to show in a TreeView.
Ford Red 2-door 2002
Ford Blue 2-door 2003
Jeep Silver 4-Door 2005
Toyota Gray 4-door 2008
Jeep White Hatch 2004
Toyota White 2-door 2001
No big deal until I want to change the grouping, that is, allow make or color or #-doors or year to be the first level in the hierarchy. I don’t see any way to parameterize the binding source in the HierarchicalDataTemplate or use code-behind. What I’d like to end up with is a treeview like this:
+ Ford
Red
Blue
+ Jeep
Silver
White
+Toyota
Gray
White
Or, by a user selection, regroup the treeview to this:
+Red
Ford
+Blue
Ford
+ Silver
Jeep
+Gray
Toyota
+White
Jeep
Toyota
All the data is in a Collection (objects of class vehicle in my example) and ideally, I’d like to be able to group and sort that list using LINQ (perhaps). Any change of implementing this with TreeView?
Telerik.Windows.Data.
Record objRec = rdcTasks.SelectedRecord;
RadCarouselPanel panel = this.rdcTasks.FindCarouselPanel();
this.rdcTasks.ItemsSource = this.CreateItemSource();
panel.BringDataItemIntoView(objRec);
In debug mode when I check the value of objRec, it shows the correct data record. However, it does not bring it to the centre.
Also, I need to set a different colour for the data record at the centre of the carousel. How can I achieve this?
Thanks in advance.
<Style x:Key="RowItemStyle" TargetType="{x:Type ListViewItem}"> |
<Setter Property="HorizontalContentAlignment" Value="Stretch" /> |
<Setter Property="IsSelected" Value="{Binding Path=IsRowSelected, Mode=TwoWay}" /> |
<Style.Triggers> |
<MultiTrigger> |
<MultiTrigger.Conditions> |
<Condition Property="ItemsControl.AlternationIndex" Value="1" /> |
<Condition Property="IsSelected" Value="False" /> |
<Condition Property="IsMouseOver" Value="False" /> |
</MultiTrigger.Conditions> |
<Setter Property="Background" Value="#EEEEEEEE" /> |
</MultiTrigger> |
</Style.Triggers> |
</Style> |
<ListView |
Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="5" |
MaxHeight="200" |
ScrollViewer.CanContentScroll="True" ScrollViewer.HorizontalScrollBarVisibility="Auto" |
ItemContainerStyle="{StaticResource RowItemStyle}" |
ItemsSource="{Binding Path=MasterList}" IsSynchronizedWithCurrentItem="True" |
SelectionMode="Single" |
> |
<ListView.View> |
<GridView> |
<GridViewColumn Header="Item Name" Width="Auto" DisplayMemberBinding="{Binding Path=ItemName}" /> |
</GridView> |
</ListView.View> |
</ListView> |
Hello,
I have a grid connected to a DataTable.
The grid and datatable both have three columns and three rows.
I want to make a cell in column A uneditable based on a value in a cell in column B
(both cells are in the same row).
I know that I can use BeginningEdit event to cancel an edit attempt in a cell,
however I was wondering if I can reach the same result using XAML trigers
and perhaps just a small relevant class.
Thanks,
Erez