Telerik Forums
UI for WPF Forum
1 answer
111 views

Hello!

We are developing a n app with a Map controll element. And for the app purposes, we need some interactable and dynamicly added.

For example, by click on the map, dricen by OpenStreetMap provider, you add a point (e.g. Ellipse) on the map. Then, you can click on that point and select it for altering (changing location or color, for instance) or delitin the point.

Bu the problem is, that adding elemnts by clicikg on the map during the rubtime is provided by Visualization layer. And that layer operates with MapShapeData, whic can not be interactive (clickable). And clicakble elemnts are provided by the Information layer, and that layer loaded only once, during the app loading.

So here is the question: is it posible to operate with clickable items with the Visualization Layer, or is it possible to mannualy "reload" the information layer to update is Items collection, displayed on the screen? Or, maybe, there is another way to solve the problem?

 

Thank ypu and best regards,

S. Kozlovskiy.

Vladimir Stoyanov
Telerik team
 answered on 12 Dec 2018
3 answers
170 views

Assuming we have the following grid

<telerik:RadGridView ColumnWidth="*">
    <telerik:RadGridView.Columns>
        <telerik:GridViewDataColumn Header="Coverage" />
        <telerik:GridViewDataColumn Header="Deductible" />
        <telerik:GridViewDataColumn Width="Auto" Header="Limit" />
    </telerik:RadGridView.Columns>
</telerik:RadGridView>

 

The Limit column does not expand but the Deductible column is shrunk from the left when we try to resize the Limit column (drag separator b/w Deductible and Limit columns to the left).

The expected behavior is:

1.Limit column should expand

2. Deductible column should shrunk from the right

 

Thank you,

Jan

Martin Ivanov
Telerik team
 answered on 12 Dec 2018
0 answers
368 views

We have been trying to achieve the following behavior:

1. From window, open a popup/modal dialog ().

2. From within the popup/modal dialog, open another popup/modal dialog ().

It works fine but when the second popup is opened and you click the first popup, the second active popup goes behind its parent.

We cannot use ShowDialog() since we want these popups in individual tabs. Meaning, I can open one tab and inside it. I can also open tab and a popup inside it. ShowDialog() blocks the whole application and user cannot switch between tabs.

 

Refer to attached images for details of the issue faced

 

s is causing usability issues since the user will never know how to bring the active popup back if they mistakenly click outside it on the first popup.

Punit
Top achievements
Rank 1
 asked on 12 Dec 2018
5 answers
353 views

I use RadNumericUpDown in many places.  My application runs on a PC and on the Microsoft Surface and uses the Windows8Touch theme.   

My problem is that whenever the user types the + or - button of a RadNumericUpDown on the MS Surface, the Window Virtual Keyboard appears, immediately obscuring the very control you are using.  The user isn't trying to edit the text box, mind you, just tapping the buttons.

I can see the cause:  Whenever you tap one of those buttons, the edit control gets keyboard focus.  This triggers Windows (at a very low level) to pop up the virtual keyboard.

But if the user is only tapping the buttons, it seems that the edit box should not get focus.  That should not happen until you actually try to *type* in it.   And even if you think it *should* get focus, there at least needs to be a way to prevent it from happening.  

Here is what I tried:

1. I tried to setting the entire RadNumericControl's IsEditable property to "False" but this has no effect.  Even though the user cannot edit the box, tapping the UP or DOWN button *still* makes the edit control think it is being edited enough to give it focus and force that virtual keyboard to appear

2. I tried setting the entire control's "Focusable" property to "False" but that didn't work either.  The internal edit control still gets keyboard focus.  This is because the Telerik template for the control fails to pass the "Focusable" to its internal edit through TemplateBinding. 

I have managed to "fix" this by copying the entire RadNumericUpDown control's template and making it pass "Focusable" to its internal edit via the TemplateBinding.  Then I use this template for my RadNumericUpDown and set them to not Focusable.

But I don't want to copy the entire template that because a)it's overkill and b) my copied template is not using the Telerik Windows8Touch theme that I applied to everything else.  So it looks out of place and terrible.  Yeah, maybe I can copy stuff from the Telerik XAML files but again, I'd really prefer a simple property on the RadNumericUpDown.

Am I missing some simpler method here?  Does RadNumericUpDown give me a way to get at the internal edit control and prevent it from getting keyboard focus short of copying its entire template? 

Also, am I correct that it's internal edit should NOT get keyboard focus if you just tap the buttons (at least if it's not editable)?

I am hoping you can point me to an easier way.  

 

Stefan
Telerik team
 answered on 12 Dec 2018
1 answer
110 views

It's hard to control is it show or hidden.

now i can only use remove and add form behaviors.

ShowTrackInfo and ShowIntersectionPoints can not totally control whole trackball

Martin Ivanov
Telerik team
 answered on 12 Dec 2018
12 answers
364 views
Hi

I am testing the RadRibbonView using PRISM. The RadRibbonView is set up as a region with modules populating the the View with RadRibbonTabs. I am looking for an example on how to dynamically add closable tab items in a TabControl defined as a separate region in the Shell from the RadRibbonTabs with a contextual group attached to every specific TabItem. So that when I select different TabItems in the TabControl I get a differenct contextual tab in the RadRibbonView for every TabItem.

Is there an example of this you could point me to?
Thomas
Top achievements
Rank 1
 answered on 12 Dec 2018
1 answer
100 views

Hello,

How do I format data (e.g. in GridViewDataColumn) to have a "%" prefix?
We do not want the value to be multiplied by 100 (e.g. when user enters "1", it should show "1%" instead of "100%")

Also, when data is null, it should show an empty field, "", instead of "%".

 

Thank you,

Jan

Stefan
Telerik team
 answered on 12 Dec 2018
2 answers
185 views

Hello,

I have a grid with a GridViewPinRowColumn and I need to detect, when the user has pinned or unpinned a row. Is there an event which I can subscribe?

Best regards,
Thomas

Thomas
Top achievements
Rank 2
Iron
 answered on 12 Dec 2018
1 answer
151 views

Is there a way of changing what group headers are shown depending on which columns have been grouped? 

I have a small banking application which displays a breakdown of all fees.

AllFees.PNG shows all of the fees ungrouped

GroupedByDesk.PNG shows the desired behaviour of grouping on any column other than currency (sums all of the rows 'Amount' values exchanged into a single currency)

GroupedByCurrency shows the desired behaviour of grouping by currency alone (sums all of the amounts in that currency)

Where it gets more interesting is if you group by Currency and another column. The desired behaviour is to show ONLY the exchanged sum in the header down in each group, and child group etc., until the Currency grouping, where you ONLY display the currency sum, as demonstrated in GroupByDeskThenCurrency.PNG

I have some working code that prevents the exchanged sum aggregate being displayed (as long as the Currency is the first grouping), but it's still not quite what the desired outcome is. Said code:

private void GridView_Grouped(object sender, Telerik.Windows.Controls.GridViewGroupedEventArgs e)
    {
      foreach (Telerik.Windows.Controls.GridViewColumn col in this.GridView.Columns)
      {
        col.AggregateFunctions.Clear();
      }

      bool groupedByCurrency = false;
      bool addedFxdSumAggregate = false;
      
      foreach (ColumnGroupDescriptor gd in this.GridView.GroupDescriptors)
      {
        if (gd.DisplayContent.ToString() == "Currency")
        {
          groupedByCurrency = true;
          this.GridView.Columns["Currency"].AggregateFunctions.Add(this.currSumFunction);
        }

        if (!groupedByCurrency && !addedFxdSumAggregate)
        {
          this.GridView.Columns[gd.DisplayContent.ToString()].AggregateFunctions.Add(this.fxableSumFunction);
          addedFxdSumAggregate = true;
        }
      }

 

 

 

Vladimir Stoyanov
Telerik team
 answered on 11 Dec 2018
9 answers
1.1K+ views
Hi,

I'm having difficulty trying to build a multi level hierarchy that has unknown levels.
I've read loads and loads of examples but they all assume the number of levels are known. However, in my case I may have "x" number of nodes, which may have "x" number of child nodes, which may have "x" number of grandchild nodes etc etc.

My data is drawn from an SQL database where I use the SQL 2008 HierarchyID data type to represent my hierarchy in the database.

I've built the following class for my products:



public class Products : INotifyPropertyChanged, IDataErrorInfo
{
private Int64 m_ID;
private SqlHierarchyId m_Hierarchy;
private string m_Name;
private Int16 m_Level;
private ObservableCollection<Products> m_ChildProducts;
// Default Constructor
public Products()
{
ChildProducts = new ObservableCollection<Products>();
}
//Properties
public Int64 ID
{
get
{
return m_ID;
}
set
{
m_ID = value;
OnPropertyChanged(new PropertyChangedEventArgs("ID"));
}
}
public SqlHierarchyId Hierarchy
{
get
{
return m_Hierarchy;
}
set
{
m_Hierarchy = value;
OnPropertyChanged(new PropertyChangedEventArgs("Hierarchy"));
}
}
public Int16 Level
{
get
{
return m_Level;
}
set
{
m_Level = value;
OnPropertyChanged(new PropertyChangedEventArgs("Level"));
}
}
public String Name
{
get
{
return m_Name;
}
set
{
m_Name = value;
OnPropertyChanged(new PropertyChangedEventArgs("Name"));
}
}
public ObservableCollection<Products> ChildProducts
{
get
{
return m_ChildProducts;
}
set
{
m_ChildProducts = value;
OnPropertyChanged(new PropertyChangedEventArgs("ChildProducts"));
}
}
//INotifyPropertyChanged Event
public event PropertyChangedEventHandler PropertyChanged;
public void OnPropertyChanged(PropertyChangedEventArgs e)
{
if (PropertyChanged != null)
PropertyChanged(this, e);
}
}


I then have the following method to download data from the database which I need to some how construct an ObservableCollection() which contains nodes "x" number of levels deep. Please note that some nodes may be 2 levels deep, others may be 3 levels deep, so forth and so forth.


public static ObservableCollection<Products> GetProductsHierarchy()
        {
            ObservableCollection<Products> products = new ObservableCollection<Products>();
 
            SqlConnection connection = new SqlConnection(DBConnection.GetConnection().ConnectionString);
 
            string selectStatement = "SELECT ID, Hierarchy, Name " +
                                     "FROM SpecProducts " +
                                     "WHERE (EnableDisable IS NULL)" +
                                     "ORDER BY Hierarchy";
 
            SqlCommand selectCommand = new SqlCommand(selectStatement, connection);
 
            try
            {
                connection.Open();
                SqlDataReader reader = selectCommand.ExecuteReader();
 
                while (reader.Read())
                {
                     
                    Products product = new Products();
                    product.ID = (Int64)reader["ID"];
                    product.Name = reader["Name"].ToString();
                    product.Hierarchy = (SqlHierarchyId)reader["Hierarchy"];
                    product.Level = (Int16)product.Hierarchy.GetLevel();
 
                    //**** How to create recursive loop to add unknown levels to nodes???? ****
 
                    products.Add(product);
                }
 
 
                return products;
            }
            catch (SqlException ex)
            {
                throw ex;
            }
            finally
            {
                connection.Close();
            }
        }


I've found a post that discusses unlimited nodes, http://www.telerik.com/community/forums/wpf/treeview/templated-node-multiple-parent.aspx , but in the example given it has the following lines of code to build up unlimited levels:
ObservableCollection<Node> nodes = new ObservableCollection<Node>();
 
nodes.Add(new Node("Company"));
nodes[0].Nodes.Add(new Node("Department"));
nodes[0].Nodes[0].Nodes.Add(new Node("here are you"));
nodes[0].Nodes[0].Nodes[0].Nodes.Add(new Node("even deeper"));
 
radTreeView1.ItemsSource = nodes;

Surely this is only valid providing you know the number of levels before runtime?


I guess I'm essentially looking for a generic hierarchy builder where the number of levels are unknown until runtime, i.e. when data is download from database.

Any help would be greatly appreciated.

Thanks for your time.


Ammar
Top achievements
Rank 1
 answered on 11 Dec 2018
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
Slider
Expander
TileList
PersistenceFramework
DataPager
Styling
TimeBar
OutlookBar
TransitionControl
Book
FileDialogs
ToolBar
ColorPicker
TimePicker
SyntaxEditor
MultiColumnComboBox
VirtualGrid
Wizard
ExpressionEditor
NavigationView (Hamburger Menu)
DesktopAlert
WatermarkTextBox
BarCode
SpellChecker
DataServiceDataSource
EntityFrameworkDataSource
RadialMenu
ChartView3D
Data Virtualization
BreadCrumb
ProgressBar
Sparkline
LayoutControl
TabbedWindow
ToolTip
CloudUpload
ColorEditor
TreeMap and PivotMap
EntityFrameworkCoreDataSource (.Net Core)
HeatMap
Chat (Conversational UI)
VirtualizingWrapPanel
Calculator
NotifyIcon
TaskBoard
TimeSpanPicker
BulletGraph
WebCam
CardView
DataBar
Licensing
FilePathPicker
PasswordBox
Rating
SplashScreen
Accessibility
Callout
CollectionNavigator
Localization
AutoSuggestBox
VirtualKeyboard
HighlightTextBlock
Security
TouchManager
StepProgressBar
Badge
OfficeNavigationBar
ExpressionParser
CircularProgressBar
SvgImage
PipsPager
SlideView
AI Coding Assistant
+? more
Top users last month
Ambisoft
Top achievements
Rank 2
Iron
Pascal
Top achievements
Rank 2
Iron
Matthew
Top achievements
Rank 1
Sergii
Top achievements
Rank 1
Andrey
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Top users last month
Ambisoft
Top achievements
Rank 2
Iron
Pascal
Top achievements
Rank 2
Iron
Matthew
Top achievements
Rank 1
Sergii
Top achievements
Rank 1
Andrey
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?