Telerik Forums
UI for WPF Forum
4 answers
398 views
Hi Telerik team,

I have a project with a requirement to display numeric value depending on dynamic unit format in radgridview or radtreelistview.

I bind my radtreelistview to list of object from class below =>
for example : ObservableCollection<MyVariable> obj = new ObservableCollection<MyVariable>();
radTreeListView1.ItemsSource = obj;

public class MyVariable : ViewModelBase, INotifyPropertyChanged
{
     public string Name { get; set; }
     public CellValue First { get; set; }
     public CellValue Second { get; set; }
     public CellValue Third { get; set; }
     public string Remarks { get; set; }
     public ObservableCollection<MyVariable> ChildCollection { get; set; }
 }
 
 public class CellValue : INotifyPropertyChanged
 {
     public string Key { get; set; }
     public double? Value { get; set; }
     public string Unit { get; set; }
     public string Location { get; set; }
     public bool IsEditable  { get; set; }
 }

 below is my xaml code for the grid.
<telerik:RadTreeListView x:Name="radTreeListView1" AutoGenerateColumns="False" RowIndicatorVisibility="Collapsed" RowLoaded="radTreeListView1_RowLoaded" RowIsExpandedChanging="radTreeListView1_RowIsExpandedChanging">
                                <telerik:RadTreeListView.ChildTableDefinitions>
                                    <telerik:TreeListViewTableDefinition ItemsSource="{Binding ChildCollection}" />
                                </telerik:RadTreeListView.ChildTableDefinitions>
                                <telerik:RadTreeListView.Columns>
                                    <telerik:GridViewDataColumn Header="Parameters" DataMemberBinding="{Binding Name}" IsReadOnly="True" Width="auto"  />
                                    <telerik:GridViewDataColumn Header="First Value" DataMemberBinding="{Binding First.Value, Mode=TwoWay}" DataFormatString="{Binding First.Unit, Converter={StaticResource numberConverter}}" IsReadOnlyBinding="{Binding First.IsEditable}" CellStyleSelector="{StaticResource cellStyle}" Width="auto" />
                                    <telerik:GridViewDataColumn Header="Second Value" DataMemberBinding="{Binding Second.Value, Mode=TwoWay}" DataFormatString="{Binding Second.Unit, Converter={StaticResource numberConverter}}" IsReadOnlyBinding="{Binding Second.IsEditable}" CellStyleSelector="{StaticResource cellStyle}" Width="auto"  />
                                    <telerik:GridViewDataColumn Header="Third Value" DataMemberBinding="{Binding Third.Value, Mode=TwoWay}" DataFormatString="{Binding Third.Unit, Converter={StaticResource numberConverter}}" IsReadOnlyBinding="{Binding Third.IsEditable}" CellStyleSelector="{StaticResource cellStyle}" Width="auto" />
                                    <telerik:GridViewDataColumn Header="Remarks" DataMemberBinding="{Binding Remarks}" IsReadOnly="True" Width="*" />
                                </telerik:RadTreeListView.Columns>
</telerik:RadTreeListView>

I also have a converter class to handle the DataFormatString
public class NumberConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        CellValue cellValue = value as CellValue;
        if (cellValue != null && cellValue.Unit == "%")
        {
            return "{0:p2}";
        }
        else
            return "{0:n2}";
    }
 
    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        return value;
    }
}

When I run these codes. it never run through the code in numberConverter class. but if i change DataFormatString code in xaml code to 
<telerik:GridViewDataColumn Header="First Value" DataMemberBinding="{Binding First.Value, Mode=TwoWay}" DataFormatString="{Binding First, Converter={StaticResource numberConverter}}" IsReadOnlyBinding="{Binding First.IsEditable}" CellStyleSelector="{StaticResource cellStyle}" Width="auto" />
<telerik:GridViewDataColumn Header="Second Value" DataMemberBinding="{Binding Second.Value, Mode=TwoWay}" DataFormatString="{Binding Second, Converter={StaticResource numberConverter}}" IsReadOnlyBinding="{Binding Second.IsEditable}" CellStyleSelector="{StaticResource cellStyle}" Width="auto"  />
<telerik:GridViewDataColumn Header="Third Value" DataMemberBinding="{Binding Third.Value, Mode=TwoWay}" DataFormatString="{Binding Third, Converter={StaticResource numberConverter}}" IsReadOnlyBinding="{Binding Third.IsEditable}" CellStyleSelector="{StaticResource cellStyle}" Width="auto" />

It run through the numberConverter codes. if i put a break point in this line of code 
CellValue cellValue = value as CellValue; 

when i checked the type of "value" from above code. instead of "CellValue" it showed "[ProjectNamespace].MainWindow" as type of value.

I followed the code from this thread
http://www.telerik.com/community/forums/wpf/gridview/dataformatstring.aspx 

but it will bind the value as string and not double which causing the cell to be able to accept non numeric value.

Please suggest how to achieve this dynamic DataFormatString binding.
 
Thanks.
Andy
Andy
Top achievements
Rank 1
 answered on 11 Apr 2012
1 answer
156 views
box column 'GridViewCheckBoxColumn' as shown below:

<

 

 

telerik:GridViewCheckBoxColumn MinWidth="60" Width=".5*" IsReadOnly="False" Header="Select" DataMemberBinding="{Binding CHARGEWAIVEDIND, UpdateSourceTrigger=PropertyChanged}" IsFilterable="False" />

The problem I am facing at the moment is that I'm unable to find the triggering event when user changes the value of the checkbox. Currently I am using GridView's CellEditEnded event which is not suitable for this as this event triggers only when user moves the cursor away from the checkbox column. Kindly help me out.

 

Dimitrina
Telerik team
 answered on 11 Apr 2012
1 answer
190 views
Is there a way to create a filmstrip view of pictures instead of the carousel view. This is, instead of having one image come to the center top, all the images are the same size and scroll left to right, right to left.

Thanks.

Mike Arnold
Maya
Telerik team
 answered on 11 Apr 2012
1 answer
117 views

The QueryableDataServiceCollectionView seems have a dependency on System.Data.Services.Client v 4.0. The project is built agains WCF Data Services October 2011 CTP and references Microsoft.Data.Services.Client from CTP folder. I tried to trick it with binding redirect, but it didn't work.

My version of the controls is 2011.3.1220.35. What version of WCF Data Services is supported?

-Stan


										
Vlad
Telerik team
 answered on 11 Apr 2012
0 answers
97 views
I need the DisplayName to be aligned to the top.
Alex
Top achievements
Rank 1
 asked on 10 Apr 2012
4 answers
269 views
I can't seem to find information on how to get the parent grid to only allow one row to be expanded at a time.  There doesn't seem to be a way that I know of to iterate through all the GridViewRow objects in the parent grid and explicitly set them to IsExpanded = false and I don't see any property on the grid that would enable this sort of a feature automatically.  It seems simple enough, maybe the developers can add that feature in for the next release?  Until then though, how do I go about doing so? 
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
 answered on 10 Apr 2012
6 answers
688 views
I have a WPF application that is designed to be used on laptops with touch screens by police officers while they are driving.  Everything is enlarged to be easy to read at a glance and to hit with sausage fingers.  Since the application is running in a police car, it has day and night modes.  The purpose of night mode is to change the colors of the controls so as not to be too bright or affect night vision.

The RadDateTimePicker controls I'm using have resisted all of my attempts to get their colors to change.  No matter what I do, they always look exactly the same.

Here is what I have done for the TextBox controls in my application.  This lives in the app.xaml, so it applies to all TextBox controls in my application:

<Style TargetType="{x:Type TextBox}">
    <Setter Property="Background"  Value="{DynamicResource UnfocusedBackground}" />
    <Setter Property="BorderBrush" Value="{DynamicResource ControlBorder}" />
    <Setter Property="Foreground"  Value="{DynamicResource UnfocusedForeground}" />
    <Style.Triggers>
        <Trigger Property="IsFocused" Value="True">
            <Setter Property="Background" Value="{DynamicResource FocusedBackground}" />
            <Setter Property="Foreground" Value="{DynamicResource FocusedForeground}" />
        </Trigger>
    </Style.Triggers>
</Style>
The DynamicResources shown are only a few of the ones I've defined.  My app changes the Brushes associated with the various DynamicResources by swapping ResourceDictionaries in the MergedDictionaries property of the Application object.  This is working well.  Except for the RadTimePicker controls.

How do I get my RadDateTimePicker controls to work with my color changing method?  The content templates of your styles are confusing to read and I don't know what part of the control belongs with which part of the template.

Tony
Tony
Top achievements
Rank 1
 answered on 10 Apr 2012
7 answers
473 views
When dynamically changing themes with the rich text box, only certain associated dialogs, etc change after the initial render.

For example, I've included a picture of the Font editor (right-click rich text box and select Font..).  What happens is the button faces (buttons, combo boxes, etc) will remain at whatever theme was selected the first time you bring up the dialog.  In this case, I had originally brought up the dialog with the expression dark theme.  I then switched to office blue and brought it back up.  As you can see most of the elements switched over to office blue as expected, but not all.

The same situation holds true with the paragraph properties dialog, and the right-click menu itself.  

http://i.minus.com/iEWdJu7KP521a.png





As an aside, one thing I'm curious about is the text box itself.  While the border and corner radius change based on the theme, the default text color and background do not change.  I assume that was intentional, but have you considered having an option for it to change as well?
Vasil
Telerik team
 answered on 10 Apr 2012
1 answer
142 views
I have a grid view which is bound to a collection in view model. I have another collection in view model and i want grid to be filtered for the records. i can have itemssource changed to this new collection but that wont allow me to clear filters in grid UI to see all the records. I didn't find anything on your blogs to programatically set the filter in MVVM model.
Filterdescriptors looked somewhat suitable but there is no operator like 'IN' and 'value' cannot be bound to a list.

Please suggest how this can be achived.
Vlad
Telerik team
 answered on 10 Apr 2012
1 answer
198 views
I have a hierarchical RadTreeView, which I am trying to get sorted properly. The first level items need to be sorted by a binding expression, and the second level items need to be sorted by a different binding expression.

Can you refer me to some samples on how to do this?
Hristo
Telerik team
 answered on 10 Apr 2012
Narrow your results
Selected tags
Tags
GridView
General Discussions
Chart
RichTextBox
Docking
ScheduleView
ChartView
TreeView
Diagram
Map
ComboBox
TreeListView
Window
RibbonView and RibbonWindow
PropertyGrid
DragAndDrop
TabControl
TileView
Carousel
DataForm
PDFViewer
MaskedInput (Numeric, DateTime, Text, Currency)
AutoCompleteBox
DatePicker
Buttons
ListBox
GanttView
PivotGrid
Spreadsheet
Gauges
NumericUpDown
PanelBar
DateTimePicker
DataFilter
Menu
ContextMenu
TimeLine
Calendar
Installer and Visual Studio Extensions
ImageEditor
BusyIndicator
Expander
Slider
TileList
DataPager
PersistenceFramework
Styling
TimeBar
OutlookBar
TransitionControl
FileDialogs
Book
ToolBar
ColorPicker
TimePicker
MultiColumnComboBox
SyntaxEditor
VirtualGrid
Wizard
ExpressionEditor
NavigationView (Hamburger Menu)
WatermarkTextBox
DesktopAlert
BarCode
SpellChecker
DataServiceDataSource
EntityFrameworkDataSource
RadialMenu
ChartView3D
Data Virtualization
BreadCrumb
LayoutControl
ProgressBar
Sparkline
TabbedWindow
ToolTip
CloudUpload
ColorEditor
TreeMap and PivotMap
EntityFrameworkCoreDataSource (.Net Core)
HeatMap
Chat (Conversational UI)
VirtualizingWrapPanel
Calculator
NotifyIcon
TaskBoard
TimeSpanPicker
BulletGraph
Licensing
WebCam
CardView
DataBar
FilePathPicker
PasswordBox
SplashScreen
Callout
Rating
Accessibility
CollectionNavigator
Localization
AutoSuggestBox
Security
VirtualKeyboard
HighlightTextBlock
TouchManager
StepProgressBar
Badge
OfficeNavigationBar
ExpressionParser
CircularProgressBar
SvgImage
PipsPager
SlideView
AI Coding Assistant
+? more
Top users last month
Chester
Top achievements
Rank 1
Iron
Simon
Top achievements
Rank 1
Iron
Douglas
Top achievements
Rank 2
Iron
Iron
SUNIL
Top achievements
Rank 3
Iron
Iron
Iron
Marco
Top achievements
Rank 3
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Chester
Top achievements
Rank 1
Iron
Simon
Top achievements
Rank 1
Iron
Douglas
Top achievements
Rank 2
Iron
Iron
SUNIL
Top achievements
Rank 3
Iron
Iron
Iron
Marco
Top achievements
Rank 3
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?