Telerik Forums
UI for WPF Forum
1 answer
617 views
Hello,

In my view model, LogEntries is declared as this:

    public class LogServiceViewModel : INotifyPropertyChanged, IDisposable        
    {        
        public ObservableCollection<CmsLogEntry> LogEntries = new ObservableCollection<CmsLogEntry>();     
    } 

I set the DataContext to my view model in the window constructor. All other data binding (aside from the grid) works at this point.

When I create a binding to LogEntries in xaml it doesn't work:

<telerik:RadGridView Name="gridView" ItemsSource="{Binding LogEntries}" AutoGenerateColumns="True"

But when I create a method wrapper to return the collection and bind in the window constructor code behind, it does:

Collection wrapper method
    public class LogServiceViewModel : INotifyPropertyChanged, IDisposable        
    {        
        public ObservableCollection<CmsLogEntry> LogEntries = new ObservableCollection<CmsLogEntry>();     
    
        public ObservableCollection<CmsLogEntry> GetLogEntries()     
        {     
                return LogEntries;     
        }     
    } 

Binding (XAML):

<telerik:RadGridView Name="gridView" AutoGenerateColumns="True"

Binding (Window constructor):

        public MainWindow()  
        {  
            _logServiceModel = new LogServiceModel();  
            _logServiceViewModel = new LogServiceViewModel(_logServiceModel);  
            DataContext = _logServiceViewModel;  
 
            gridView.ItemsSource = _logServiceViewModel.GetLogEntries();  
        }  
 

I really was hoping to avoid polluting the code behind as much as possible to create bindings to my view model. I've looked at the docs and don't see an example of this, but am surprised to find that this isn't supported. I must be doing something wrong. Anyone have any ideas? Thanks!

Tony
Tony
Top achievements
Rank 1
 answered on 04 Feb 2010
7 answers
311 views
Hello,

As I am attempting to replace my stock WPF TabControl's with RadTabControl's it seems that the RadTabControl does not have a  IsSynchronizedWithCurrentItem property - which is especially useful when binding to observable collections.  Am I missing something simple, or do I need to actually implement this functionality as one would in Silverlight?

Thanks,
Mark.
Ariel Gonzalez
Top achievements
Rank 1
 answered on 03 Feb 2010
2 answers
110 views
Basically we have these related objects and I would like to compose a row in the grid at runtime pulling data from multiple objects at once. Sort of like a composite row where say 50% of columns are pulling data from obj 1 and the other 50% from object 2.

I know I can compose a facade obj and bind to those properties and even at runtime I can create a dynamicobject and bind a collection of these in the grid but I am trying to avoid that.

Also it 'works' nice if I use a single row view pulling data from two objects - but once I need to bind to two collections which are synched up that's where I'm stuck.
Any thoughts/ideas on how to accomplish that?
wojciech sobocinski
Top achievements
Rank 1
 answered on 03 Feb 2010
4 answers
815 views
Is there a way to disable the MouseWheel scrolling in the treeview?
David
Top achievements
Rank 1
 answered on 03 Feb 2010
3 answers
295 views

Hello everybody,
I am using  RadControls for WPF Q3 2009 SP2, and the version of the Telerik.Windows.Controls.GridView.dll is 2009.3.1314.35

In a gridview I had to insert a button with an image using the following XAML code;

<telerik:RadGridView x:Name="radGridInvoiceDetails" ShowGroupPanel="False" AutoGenerateColumns="False" Height="280" Width="920" HorizontalAlignment="Left" ScrollMode="RealTime" ItemsSource="" >
    <telerik:RadGridView.Columns> 
        <telerik:GridViewDataColumn Header="ProductType" DataMemberBinding="{Binding ProductTypeDescription}" IsReadOnly="True" IsFilterable="False" HeaderTextAlignment="Center" Width="Auto" IsVisible="False"/>
        <telerik:GridViewDataColumn Header="Prodotto" DataMemberBinding="{Binding ProductDescription}" IsReadOnly="True" IsFilterable="False" HeaderTextAlignment="Center" Width="Auto" IsVisible="False"/>
        <telerik:GridViewDataColumn Header="Numero" DataMemberBinding="{Binding BillNumberString}" IsReadOnly="True" IsFilterable="False" HeaderTextAlignment="Center" Width="Auto" TextAlignment="Right"/>
        <telerik:GridViewDataColumn Header="Data" DataMemberBinding="{Binding BillDate}" IsReadOnly="True" IsFilterable="False" HeaderTextAlignment="Center" Width="Auto" DataFormatString="{}{0:dd/MM/yyyy}"/>
        <telerik:GridViewDataColumn Header="Qta" DataMemberBinding="{Binding ProductQuantity}" IsReadOnly="True" IsFilterable="False" HeaderTextAlignment="Center" Width="Auto" DataFormatString="{}{0:N2}" TextAlignment="Right"/>
        <telerik:GridViewDataColumn Header="Prz.Uni" DataMemberBinding="{Binding ProductFee}" IsReadOnly="True" IsFilterable="False" HeaderTextAlignment="Center" Width="Auto" DataFormatString="{}{0:N2}" TextAlignment="Right"/>
        <telerik:GridViewDataColumn Header="Tot.Prod" DataMemberBinding="{Binding ProductTotal}" IsReadOnly="True" IsFilterable="False" HeaderTextAlignment="Center" Width="Auto" DataFormatString="{}{0:N2}" TextAlignment="Right"/>
        <telerik:GridViewDataColumn Header="Scontato" DataMemberBinding="{Binding ProductDiscountedTotal}" IsReadOnly="True" IsFilterable="False" HeaderTextAlignment="Center" Width="Auto" DataFormatString="{}{0:N2}" TextAlignment="Right"/>
        <telerik:GridViewDataColumn Header="Trasporto" DataMemberBinding="{Binding TransportTotal}" IsReadOnly="True" IsFilterable="False" HeaderTextAlignment="Center" Width="Auto" DataFormatString="{}{0:N2}" TextAlignment="Right"/>
        <telerik:GridViewDataColumn Header="Scontato" DataMemberBinding="{Binding TransportDiscountedTotal}" IsReadOnly="True" IsFilterable="False" HeaderTextAlignment="Center" Width="Auto" DataFormatString="{}{0:N2}" TextAlignment="Right"/>
        <telerik:GridViewDataColumn Header="Sconto totale" DataMemberBinding="{Binding TotalDiscountAmount}" IsReadOnly="True" IsFilterable="False" HeaderTextAlignment="Center" Width="Auto" DataFormatString="{}{0:N2}" TextAlignment="Right"/>
        <telerik:GridViewDataColumn Header="Imponibile" DataMemberBinding="{Binding TotalBill}" IsReadOnly="True" IsFilterable="False" HeaderTextAlignment="Center" Width="Auto" DataFormatString="{}{0:N2}" TextAlignment="Right"/>
        <telerik:GridViewDataColumn Header="IVA" DataMemberBinding="{Binding VATString}" IsReadOnly="True" IsFilterable="False" HeaderTextAlignment="Center" Width="Auto" TextAlignment="Right"/>
        <telerik:GridViewDataColumn Header="Totale" DataMemberBinding="{Binding TotalVAT}" IsReadOnly="True" IsFilterable="False" HeaderTextAlignment="Center" Width="Auto" DataFormatString="{}{0:N2}" TextAlignment="Right"/>
        <telerik:GridViewDataColumn x:Name="columnView" IsFilterable="False" IsSortable="False" Width="40">
            <telerik:GridViewColumn.CellTemplate>
                <DataTemplate>
                    <Button x:Name="buttonView" Click="buttonView_Click" Background="White" BorderBrush="White">
                        <Image Height="20" Width="20" Source="/Raise.FarinaEzio.SIB.Client.Management.GUI.BusinessManagement.Controls;component/Images/Edit.png" />
                        <Button.ToolTip>
                            <StackPanel Orientation="Horizontal">
                               <Image Source="/Raise.FarinaEzio.SIB.Client.Management.GUI.BusinessManagement.Controls;component/Images/Edit.png" />  
                              <Label Content="Visualizza la bolla"/>
                          </StackPanel>
                       </Button.ToolTip>
                   </Button>
                </DataTemplate>
            </telerik:GridViewColumn.CellTemplate>
        </telerik:GridViewDataColumn>
    </telerik:RadGridView.Columns>
</telerik:RadGridView>

In the code behind I had to add some group and some sum functions using code like the following

GroupDescriptor descriptor = new Telerik.Windows.Data.GroupDescriptor();
 
descriptor.Member = "ProductTypeDescription";
descriptor.SortDirection = ListSortDirection.Ascending;
radGridInvoiceDetails.GroupDescriptors.Add(descriptor);
descriptor = new Telerik.Windows.Data.GroupDescriptor(); 
descriptor.Member = "ProductDescription";
descriptor.SortDirection = ListSortDirection.Ascending;
var sumFunction = new Telerik.Windows.Data.SumFunction();
sumFunction.ResultFormatString = "{0:N2}";
sumFunction.SourceField = "ProductQuantity";
sumFunction.Caption = "Totale Quantit";
descriptor.AggregateFunctions.Add(sumFunction);
sumFunction = new Telerik.Windows.Data.SumFunction();
sumFunction.ResultFormatString = "{0:N2}";
sumFunction.SourceField = "TotalBill";
sumFunction.Caption = "Totale Imponibile";
descriptor.AggregateFunctions.Add(sumFunction);
sumFunction = new Telerik.Windows.Data.SumFunction();
sumFunction.ResultFormatString = "{0:N2}";
sumFunction.SourceField = "TotalVAT";
sumFunction.Caption = "Totale Con IVA";
descriptor.AggregateFunctions.Add(sumFunction);
radGridInvoiceDetails.GroupDescriptors.Add(descriptor);

Every grouping and sum functions work perfectly.
My problem is the button inserted in datatemplate.
The first time the grid is filled up all the buttons are clickable and when they are clicked evrything works very fine.
Starting from the second time none of the buttons are clickable anymore. The look and feel of the problem is that after the click the button is shown as selected but the typical "click behaviour" of the button disappeares and no Click event is trapped.
Insisting to the click of the button the image disappears and you see a small text box that takes the focus.
I have already used buttons inserted into a datatemplate but I have never seen this strange behaviour.
The first thought I've had is that the problem may be due to the groups I have add, that's because in the other grids no groups were added.

Thank you very much in advance for you help.

Nick

Vlad
Telerik team
 answered on 03 Feb 2010
5 answers
563 views

My problem is that I am wanting to use 1 data template for multiple colums in a gridview, but I want to bind the element in the data template to a different path.

In the example below I have a template that creates a checkbox.

<Grid.Resources> 
            <Style x:Key="CheckboxCellStyle" TargetType="{x:Type telerik:GridViewCell}">  
                <Setter Property="ContentTemplate">  
                    <Setter.Value> 
                        <DataTemplate> 
                            <CheckBox VerticalAlignment="Center" IsChecked="{Binding ????}" Click="CheckBox_Click" /> 
                        </DataTemplate> 
                    </Setter.Value> 
                </Setter> 
            </Style> 
</Grid.Resources> 

I want to bind the IsChecked property to the binded element in the data colulmn definition.

<telerik:GridViewDataColumn Header="Deleted" DataMemberBinding="{Binding Deleted}" CellStyle="{StaticResource CheckboxCellStyle}"></telerik:GridViewDataColumn> 
<telerik:GridViewDataColumn Header="Selected" DataMemberBinding="{Binding Selected}" CellStyle="{StaticResource CheckboxCellStyle}"></telerik:GridViewDataColumn> 


Can someone please help me find a solution to this problem?
Pavel Pavlov
Telerik team
 answered on 03 Feb 2010
1 answer
73 views

Hi all,

I'm trying to do the following:

http://www.telerik.com/help/wpf/radchart-styling-and-appearance-styling-item-labels.html

First time that I load the RadChart works... but if I want to reload the RadChart the style is the previous, without changes.

The curious thing is my axis custom style remains changed every time.

Any code sample to solve this problem? What is the reason for this behavor?

Regards,

Gerard
Dwight
Telerik team
 answered on 03 Feb 2010
1 answer
180 views

Hello.
I am trying to make the Element field below 'FullName' be a dynamic value that reads from
{
Binding Path=Name}.
Something like this
<TextBox Text="{Binding Path=Element[{Binding Path=Name}].Value}" Margin="2"></TextBox>
but it doesnt work.

 

<UserControl.Resources> 
        <HierarchicalDataTemplate   
                       ItemsSource="{Binding Path=Elements}"   
            x:Key="TVTemplate">  
            <telerik:RadTreeView> 
                <WrapPanel> 
                    <TextBlock Text="{Binding  Path=Name}" Margin="2"></TextBlock> 
                        <TextBox Text="{Binding  Path=Element[FullName].Value}" Margin="2"></TextBox> 
                    </WrapPanel></telerik:RadTreeView> 
        </HierarchicalDataTemplate> 
    </UserControl.Resources> 

 

TheLostLeaf
Top achievements
Rank 2
 answered on 02 Feb 2010
5 answers
342 views
I have a "search" box that allows a user to filter the tree based on the underlying entity lable name using a filter on the collectionview. This works great except that it collapses all the tree nodes and doesn't maintain their expanded state. Is there a way to filter and maintian tree node state?
Valentin.Stoychev
Telerik team
 answered on 02 Feb 2010
2 answers
132 views
Hello,
     There was a function called hittest that I used in another grid that I worked with that allowed me to determine if a cell had been clicked on or a column or row header had been clicked on. Does this grid have such a function?
Thanks 
Jorge Gonzalez
Top achievements
Rank 1
 answered on 02 Feb 2010
Narrow your results
Selected tags
Tags
+? more
Top users last month
Jay
Top achievements
Rank 3
Iron
Iron
Iron
Benjamin
Top achievements
Rank 3
Bronze
Iron
Veteran
Radek
Top achievements
Rank 2
Iron
Iron
Iron
Bohdan
Top achievements
Rank 2
Iron
Iron
Richard
Top achievements
Rank 4
Bronze
Bronze
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Jay
Top achievements
Rank 3
Iron
Iron
Iron
Benjamin
Top achievements
Rank 3
Bronze
Iron
Veteran
Radek
Top achievements
Rank 2
Iron
Iron
Iron
Bohdan
Top achievements
Rank 2
Iron
Iron
Richard
Top achievements
Rank 4
Bronze
Bronze
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?