Telerik Forums
UI for WPF Forum
6 answers
197 views
Hi,

I use Telerik 2012.1.326.35 and I have a problem with the CurrentPosition property. Actually in our application we have a RadGridView with 12 items. I double-click on an item (ie: 4) in the grid, we popup a dialog with the RadGridView as reference. In the loaded event of the dialog we popup, the RadGridView.Items.CurrentPosition is always equal to 0. If we do an Indexof(SelectedItem), the call return the exact position of the selected item in the grid. Can you explain why the CurrentPosition position is always equal to 0 ???

Thank's
Dimitrina
Telerik team
 answered on 19 Jul 2012
2 answers
347 views
I think I'm missing something in the documentation.

I have a RadGridView, which is used to display the results of a search of a table in my database.  The table currently has 2.7 million rows in it.  I obviously don't want to retrieve all 2.7 million rows in one fell swoop, as that would be inefficient in time and memory.

My application is a WPF app and I don't want to use paging, either.  I'd rather tell the user how many rows match the search critieria they entered and show them the first N rows (where N is a number between 100 - 500; the exact number will be determined through testing).  Then I would like the user to be able to scroll, much like the "Client Binding to 1 million rows" example does.

I'm using Entity Framework to query the database, but my code is designed to obtain an Entity Context, retrieve the data, then close and dispose of the Entity Context.  My data uses Guids as the unique ID of the rows.  I've written a search function which retrieves the IDs of the rows that match the criteria in chunks of a fixed size.  it then tries to load the data for these rows, and this runs OK if the number of matching rows is less than 10,000.  If the number of matching rows is larger than 10,000, it can take a minute or longer to get the data, depending on the number of matches.

This is all too slow and too memory intensive.  I need a better way to get the data, load only what the user is interested in and make it seem like all of it was loaded incredibly fast.  How do I get this to work?

Tony
Tony
Top achievements
Rank 1
 answered on 19 Jul 2012
1 answer
154 views
Hello,

I have implemented my own double click behavior with the time bar, but every time I double click, the selection gets changed as well.  Is there a way to disable this selection change on double click?

Eric
Tsvetie
Telerik team
 answered on 19 Jul 2012
7 answers
242 views
Hello,

We are using Telerik RadControls for WPF Q2 2011 SP1. We're attempting to create a chart having two data series (viz. history and forecast) using two spline series. The data history series starts with values and ends with a series of nulls. The forecast starts with nulls (where the history has values) and ends with values (where history has nulls).

Now, the history series starts at the left and renders correctly. The problem is the forecast series that only starts further to the right. The initial line starts at a totally inappropriate angle and tends to do some looping effect. The further right, the worse it is. I guess this has to do with the spline initial control points, but as far as I can see I can't control those...

Below is a very simple example that should illustrate the problem. Also see the example images attached.

I have tried setting the EndPointBehaviour but it doesn't fix the problem (and we cannot use Zero since the data doesn't start from zero).

Any assistance would be greatly appreciated.
thanks

public MainWindow()
{
    InitializeComponent();
 
    var data = new DataTable();
    data.Columns.Add(new DataColumn { ColumnName = "X", DataType = typeof(int) });
    data.Columns.Add(new DataColumn { ColumnName = "Y", DataType = typeof(double) });
    var rnd = new Random();
    for (var i = 0; i < 40; i++)
    {
        var row = data.NewRow();
        row[0] = i;
        row[1] = (i < 30) ? (object)DBNull.Value : (double)rnd.Next(500);
        data.Rows.Add(row);
    }
    chart.ItemsSource = data;
 
    var seriesDefinition = new SplineSeriesDefinition();
    seriesDefinition.ShowPointMarks = false;
    seriesDefinition.ShowItemLabels = false;
    seriesDefinition.EmptyPointBehavior = EmptyPointBehavior.Gap;   // Gap, Drop, Zero
 
    var mapping = new SeriesMapping();
    mapping.SeriesDefinition = seriesDefinition;
    mapping.SeriesDefinition.Appearance.Stroke = new SolidColorBrush(Colors.Red);
    mapping.ItemMappings.Add(new ItemMapping(data.Columns[0].ColumnName, DataPointMember.XCategory) { FieldType = data.Columns[0].DataType });
    mapping.ItemMappings.Add(new ItemMapping(data.Columns[1].ColumnName, DataPointMember.YValue) { FieldType = data.Columns[1].DataType });
    chart.SeriesMappings.Add(mapping);
}
Martin
Top achievements
Rank 1
 answered on 19 Jul 2012
3 answers
132 views
Hi,

I have written 'TelerikSelectedItemsSynchronizerBehavior' behavior to "synchronize" the SelectedItems property of a Telerik
grid to a Selected Items property of view model. SelectedItems property in view model contains only one row and that is scrolled and shown  as selected in the grid correctly. but the problem is Row Indicator Arrow is not shown in front of selected row in some of the grids while in some grids it is displayed.

I'am using the same behavior for synchronization in all grids and all grids have same properties set. WHy this Row Indicator Arrow  is shown in some grids and not all...????
Dimitrina
Telerik team
 answered on 19 Jul 2012
2 answers
101 views
Hello,

When I mouse over the selector, the inside of it changes color.  How can I make the selector change to a color of my choice from codebehind (not just when the mouse is over it)?  This will be used to indicate that the selector is actually being used as opposed to just being there and not used.

Thanks,
Eric
Tsvetie
Telerik team
 answered on 19 Jul 2012
7 answers
370 views
Hello. I want scrolling my RadDiagram.
<ScrollViewer HorizontalScrollBarVisibility="Auto"  VerticalScrollBarVisibility="Auto">
         <telerik:RadDiagram IsZoomEnabled="False" AllowDrop="True" Name="radDiagram1"
                      SelectionChanged="radDiagram1_SelectionChanged" />
</ScrollViewer>

When I add some shape on diagram in runtime, scroll still not enable. Maybe I need do some refresh diagram? Help me, please.
Miro Miroslavov
Telerik team
 answered on 19 Jul 2012
2 answers
122 views
Hi all,
I need to know if the last version  of Telerik WPF supports .NET 3.5 SP1.

Thank you,
Emanuele
Emanuele
Top achievements
Rank 1
 answered on 19 Jul 2012
5 answers
131 views
Hi all,

I have a treeview as outlined below. Whenever an item is checked/unchecked, I 'do something' in the code-behind.

However, if the user checks the root, all items are checked /unchecked and I get an event for each. I just want to know when it's done so I can inspect the state of the relevant items.

I can't find a relevant event; even mouseDown doesn't seem to 'fire' in my case?! What could you recommend?

Thanks for any commments,

Anders, Denmark

        <Controls1:RadTreeView
            ItemsSource="{Binding Path=Children, NotifyOnSourceUpdated=True}"
            Name="treeview"
            IsLineEnabled="True"
            IsOptionElementsEnabled="True"
            ItemsOptionListType="CheckList"
            IsTriStateMode="True" Checked="treeview_Checked" Unchecked="treeview_Checked">
Pedro
Top achievements
Rank 1
 answered on 19 Jul 2012
2 answers
156 views
Hi,
I'm developing an application that users can drag and drop items on a  radmap and move them around. I wanted to use ClusteredDataSource for drill down ability, but i'm struggling on binding the location property of my custom class.

here is my custom object:
    public class ToolboxItem : ContentControl
    {
        public String IconPath { get; set; }

        public String Description { get; set; }

        public Location Location { get; set; }

    }

And my ObservableCollection :

    public class ItemsDataSource : ObservableCollection<ToolboxItem>
    {
        Random rnd = new Random();

        public ItemsDataSource()
        {
            this.GeoBoundsNW = new Location(39, -120);
            this.GeoBoundsSE = new Location(32, -113);
            CreatePointsInRect(100);
        }

        private LocationRect dataRectangle = new LocationRect();
        public LocationRect DataRectangle
        {
            get { return dataRectangle; }
            set
            {
                dataRectangle = value;
            }
        }

        private Location geoBoundsNW = Location.Empty;
        public Location GeoBoundsNW
        {
            get { return geoBoundsNW; }
            set
            {
                geoBoundsNW = value;
                UpdateGeoBounds();
            }
        }

        private Location geoBoundsSE = Location.Empty;
        public Location GeoBoundsSE
        {
            get { return geoBoundsSE; }
            set
            {
                geoBoundsSE = value;
                UpdateGeoBounds();
            }
        }

        private void UpdateGeoBounds()
        {
            if (!this.GeoBoundsNW.IsEmpty && !this.GeoBoundsSE.IsEmpty)
            {
                this.DataRectangle = new LocationRect(this.GeoBoundsNW, this.GeoBoundsSE);
            }
        }

        #region Test
        private void CreatePointsInRect(int count)
        {
            if (!this.dataRectangle.IsEmpty)
            {
                for (int i = 0; i < count; i++)
                {
                    ToolboxItem item = new ToolboxItem();
                    Location loc = new Location(
                        this.DataRectangle.North - this.DataRectangle.GeoSize.Height * rnd.NextDouble(),
                        this.DataRectangle.West + this.DataRectangle.GeoSize.Width * rnd.NextDouble());
                    item.Name = "item" + i;
                    item.Location = loc;
                    
                    this.Add(item);
                }
            }
        }
        #endregion

    }

and my clustered data source defiifnition in xaml file:

                    <local:ItemsDataSource x:Key="ItemsDataSource" />

                    <telerik:ClusteredDataSource x:Key="clusteredDataSource"
                                                 ClusterItemTemplate="{StaticResource ClusterTemplate}"
                                                 ItemTemplate="{StaticResource ClusteredItemTemplate}"
                                                 GenerateClustersOnZoom="True"
                                                 ItemsSource="{StaticResource ItemsDataSource}">

                    </telerik:ClusteredDataSource>

and of course my rad map control:

        <telerik:RadMap Name="radMap"
                        AllowDrop="True"
                        Grid.Column="2"
                        Grid.Row="1"
                        ZoomBarVisibility="Collapsed"
                        ZoomLevel="4"
                        Center="39,-120">
            <telerik:RadMap.Provider>
                <telerik:OpenStreetMapProvider />
            </telerik:RadMap.Provider>
            <telerik:InformationLayer x:Name="infLayer" AllowDrop="True"
                                      ClusteredDataSource="{StaticResource clusteredDataSource}">
            </telerik:InformationLayer>
        </telerik:RadMap>

and Clustered Item Template :
                    <DataTemplate x:Key="ClusteredItemTemplate">
                        <telerik:MapPinPoint telerik:MapLayer.Location= "{Binding Converter={StaticResource locConverter}}"
                                             MouseLeftButtonUp="ClusteredItemMouseClick"/>
                    </DataTemplate>

On data template i tried to bind Location property of my ToolboxItem but it was an unsuccessful attempt so then i provided an IValueConverter which is just below.

    public class LocationConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            var item = value as ClusteredItem;
            var toolboxItem = item.Data as ToolboxItem;

            return toolboxItem.Location;
        }

        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            throw new NotImplementedException();
        }

    }


The problem is if i change type of the ObservableCollection to Location it works perfectly, but i need to provide additional information for the visual and also for the status of the item. So i have to use my ToolboxItem as a type on my ObservableCollection, but i couldn't bind the Location property from toolboxItem.

Does anybody have any idea how to do that.

Thanks,

Mehmet
Top achievements
Rank 1
 answered on 19 Jul 2012
Narrow your results
Selected tags
Tags
+? more
Top users last month
Rob
Top achievements
Rank 3
Iron
Iron
Iron
Atul
Top achievements
Rank 1
Iron
Iron
Iron
Alexander
Top achievements
Rank 1
Veteran
Iron
Serkan
Top achievements
Rank 1
Iron
Shawn
Top achievements
Rank 1
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Rob
Top achievements
Rank 3
Iron
Iron
Iron
Atul
Top achievements
Rank 1
Iron
Iron
Iron
Alexander
Top achievements
Rank 1
Veteran
Iron
Serkan
Top achievements
Rank 1
Iron
Shawn
Top achievements
Rank 1
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?