Telerik Forums
UI for Universal Windows Platform Forum
0 answers
89 views

My App Center crash logs show a crash on ScrollIndexIntoView on a RadDataGrid. I've seen the crash about a dozen times in the last month on a variety of computers, but haven't been able to duplicate it myself. There are a variety of spots in my project where I scroll to particular entry on a page that the user previously clicked on. My code usually looks something like this. Assume ClientGrid is the RadDataGrid and its ItemSource is ViewModel.Clients.

foreach (var eachClient in ViewModel.Clients)
{
    if (eachClient.ID == SelectedClient.ID)
    {
        try
        {
            ClientGrid.ScrollItemIntoView(eachClient);
        }
        catch (Exception ex)
        {
            // log error
        }
        break;
    }
}

This works perfectly for me when I use it, and I suppose it does for everyone else 99% of the time. It just occasionally crashes. Note, sometimes in my project, I use ScrollIndexIntoView and other times I use ScrollItemIntoView. Both of them ultimately call ScrollIndexIntoView in the Telerik code. I can't actually tell from the App Center crash logs if the crash is from one of my ScrollItemIntoView or ScrollIndexIntoView calls. They follow this same code structure though.

Also, I tried wrapping the ScrollItemIntoView call inside a try/catch, but it's never actually hit the catch block (I didn't include it above, but I have some error reporting code in the catch) and doesn't prevent the crashes.

Is there some way to prevent this from crashing? I assume that somehow the grid just isn't ready to scroll yet. Is there a property on the grid I can call to verify that it's loaded before I call ScrollItemIntoView? It's fine with me if on these rare occasions I can't scroll to the appropriate row. I just want it to do nothing instead of crashing. Here's the stack trace

Internal.Runtime.CompilerHelpers    ThrowHelpers.ThrowIndexOutOfRangeException ()
Telerik.UI.Xaml.Controls.Grid    IndexStorage.ValueForIndex (Int32, Boolean)
Telerik.UI.Xaml.Controls.Grid.Model    GridModel.ScrollIndexIntoView (ScrollIntoViewOperation`1)
Telerik.UI.Xaml.Controls.Grid.Model.GridModel    <>c__DisplayClass147_0.<ScrollIndexIntoViewCore>b__0 ()
System    Action.Invoke ()
Telerik.UI.Xaml.Controls.Primitives    DelegateUpdate`1.Process ()
Telerik.UI.Xaml.Controls.Primitives    UpdateServiceBase`1.ProcessUpdatesQueue ()
Telerik.UI.Xaml.Controls.Primitives    UpdateServiceBase`1.OnUpdateCallback ()
Windows.Foundation    DeferralCompletedHandler.Invoke ()

 

Thanks for any help!

Tyler
Top achievements
Rank 1
 asked on 04 Aug 2023
0 answers
72 views

Hi,

I have a data set similar to List<List<string>> DataSet.  Where each row's data is a list of strings.

Is there anyway to bind this type of structure to a RadDataGrid rather than having each row bound to a specific data member?

Thank you

R-2112
Top achievements
Rank 1
 asked on 28 Jun 2023
0 answers
68 views
Hi,

My DataGrid uses an Expando object. When pressing and holding the keydown or keyup, the grid behaves incorrectly. I tried to set the RowHeight to see if it would help, but no.

The scroll viewer is kind of reset and for each reset, the offset is getting smaller and at some point, it stops doing the bug.

Sébastien
Sébastien
Top achievements
Rank 2
Iron
Iron
Iron
 asked on 20 Jun 2023
0 answers
89 views

Multiple users have generated a crash log via AppCenter that suggests I have some sort of Telerik error, but I haven't been able to duplicate it myself. Here's the error.

ComCallHelpers.Call (__ComObject, RuntimeTypeHandle, Int32, Void*)

EETypeRva:0x00067310(System.Runtime.InteropServices.MissingInteropDataException): System.Collections.Generic.IList`1[Windows.UI.Xaml.Automation.Peers.AutomationPeer] is missing interop type marshalling data. To enable interop type marshalling data, add a MarshalObject directive to the application rd.xml file. For more information, please visit http://go.microsoft.com/fwlink/?LinkID=393965

 

Here's the stack trace

  • System.Runtime.InteropServices
    __interface_ccw.Allocate (ComCallableObject, RuntimeTypeHandle)
  • SharedLibrary!<BaseAddress>+0x6f7813
  • System.Runtime.InteropServices
    CCWLookupMap.GetOrCreateCCW (Object, RuntimeTypeHandle, IntPtr&)
  • SharedLibrary!<BaseAddress>+0x6f769f
  • SharedLibrary!<BaseAddress>+0x6f7667
  • SharedLibrary!<BaseAddress>+0x6f75eb

  • __Interop
    ComCallHelpers.Call (__ComObject, RuntimeTypeHandle, Int32, Void*)
  • __Interop.ForwardComStubs.Stub_3[TThis, TResult](__ComObject, Int32) + 0x2c
  • Telerik.UI.Automation.Peers
    DataGridCellsPanelAutomationPeer.GetChildrenCore ()
  • Windows.UI.Xaml.Automation.Peers.AutomationPeer.global::Windows.UI.Xaml.Automation.Peers
    IAutomationPeerOverrides.GetChildrenCore ()

  • __Interop
    ComCallHelpers.Call (__ComObject, RuntimeTypeHandle, Int32, Void*)
  • __Interop.ForwardComStubs.Stub_3[TThis, TResult](__ComObject, Int32) + 0x2c
  • Telerik.UI.Automation.Peers
    RadDataGridAutomationPeer.GetChildrenCore ()
  • Windows.UI.Xaml.Automation.Peers.AutomationPeer.global::Windows.UI.Xaml.Automation.Peers
    IAutomationPeerOverrides.GetChildrenCore ()

  • __Interop
    ComCallHelpers.Call (__ComObject, RuntimeTypeHandle, Int32, Void*)
  • __Interop.ForwardComStubs.Stub_3[TThis, TResult](__ComObject, Int32) + 0x2c

  • Telerik.UI.Xaml.Controls.Grid.SelectionService
    <RaiseAutomationSelection>d__43.MoveNext ()
  • System.Runtime.ExceptionServices
    ExceptionDispatchInfo.Throw ()

  • Telerik.UI.Xaml.Controls.Grid.SelectionService
    <Select>d__13.MoveNext ()
  • System.Runtime.ExceptionServices
    ExceptionDispatchInfo.Throw ()

  • __Interop
    ComCallHelpers.Call (__ComObject, RuntimeTypeHandle, Int32)
  • __Interop
    ForwardComStubs.Stub_22[TThis] (__ComObject, Int32)
  • Microsoft.AppCenter.Utils
    ApplicationLifecycleHelper.<ctor>b__17_1 (Object, UnhandledErrorDetectedEventArgs)

 

Does anyone have any thoughts about what this might be related to? Thanks!

Tyler
Top achievements
Rank 1
 asked on 05 May 2023
1 answer
103 views
How to set focus to textbox in edit of Raddatagrid in Tappped command
Lance | Manager Technical Support
Telerik team
 answered on 27 Mar 2023
0 answers
91 views

We use a Telerik RadGrid to display data from our tables on a page. The page is done in old C# .NET Framework 4.8.  Our Telerik version is 2023.1.117.45.

The page allows the user to edit the data from the DB. When they click a button the page displays an edit control with the data from a given row that has a save button and a cancel button. When the cancel button is hit the RadGrid sends a "Cancel" command to the code-behind, even though nothing in the code-behind responds to this command the edit form is removed.

On some of our other pages when the save button is hit it runs the update/insert code behind, and also removes the control. But I recently added a new page, based upon the old one, but the new one does not remove the edit control when a save it done. My code on the new page is obviously slightly different, but I cannot find what I changed that stops the removal of the edit form once the data is saved. The cancel button on this new page does this, but again, neither page has any code-behind that responds to the cancel button.

Is there documentation on how the cancel command works? It seems to be done auto-magically by Telerik without the code added by the developer running. Is there an explicit way to trigger this effect?

My previous experience doing front end stuff was using JavaScript and in that I would just edit the dom to remove the control, or hide it. But that is never done on any of the page using Telerik here.

Terry
Top achievements
Rank 1
 asked on 22 Mar 2023
1 answer
121 views

I Have A RadDatagrid and I want to customize the External Editor is layout and access the save/apply button and need some examples of using BeginEdit() and CommitEdit()

Thanks.

Didi
Telerik team
 answered on 26 Dec 2022
1 answer
547 views

Hi There, I'm using the Telerik Datagrid for UWP and it is a pleasure to work with it. I am now developing a datagrid view with several comboboxes to select data from other Lists (Tables in sqlite) and I am struggling with the selected values. I have defined a combobox with the proper data to display but when I select a different record and try to update the change in the record the value is the same as when first initiated. How can i transfer the value? When I use a ordinary combobox the SelectedValuePath and the SelectedValue do the job but this is the datagrid and seems to be different. I searched the net and all questions and also your documentation but didn't find the answer. 

Here's some relevant code: 

XAML:

<Page
    x:Class="GolfComp.Views.TeamListPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:GolfComp.Views"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:controls="using:Microsoft.Toolkit.Uwp.UI.Controls" 
    xmlns:telerikGrid="using:Telerik.UI.Xaml.Controls.Grid"
    mc:Ignorable="d"
    Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">

    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <RelativePanel>
            <CommandBar x:Name="mainCommandBar" HorizontalAlignment="Stretch" IsEnabled="{x:Bind enableCommandBar}">
                <AppBarButton
                    Click="Insert_new_entry"
                    Icon="Add"
                    Label="New"
                    ToolTipService.ToolTip="New record"/>
                <AppBarButton
                    Click="Delete_Click"
                    Icon="Delete"
                    Label="Delete"
                    ToolTipService.ToolTip="Delete record" />
                <AppBarButton
                    Click="UpdateRecord_Click"
                    Icon="Refresh"
                    Label="Update"
                    ToolTipService.ToolTip="Update record" />
            </CommandBar>
            <StackPanel
                x:Name="newRecordStackPanel"
                Orientation="Horizontal"                
                RelativePanel.Below="mainCommandBar">
                <ComboBox x:Name="golfclubDropDown" Header="Homeclub" Margin="8,8,16,8" MinWidth="150"/>
                <ComboBox x:Name="klasseDropDown" Header="Competitie" Margin="8,8,16,8" MinWidth="150"/>
                <TextBox
                    x:Name="TeamNaamTextBox"
                    Header="Teamnaam"
                    PlaceholderText="teamnaam"
                    Margin="8,8,16,8"/>
                <AppBarButton x:Name="DeleteNewRecord" Click="DeleteNewRecord_Click" Icon="Cancel"/>
                <AppBarButton x:Name="SaveNewRecord" Click="SaveNewRecord_Click" Icon="Save"/>
            </StackPanel>
            <telerikGrid:RadDataGrid 
                AutoGenerateColumns="False"
                x:Name="Datagrid" 
                BorderThickness="0" 
                ColumnDataOperationsMode="Flyout" 
                GridLinesVisibility="None"
                GroupPanelPosition="Left" 
                RelativePanel.AlignLeftWithPanel="True"
                RelativePanel.AlignRightWithPanel="True"
                RelativePanel.Below="newRecordStackPanel"
                UserEditMode="Inline"
                SelectedItem="{x:Bind SelectedItem, Mode=TwoWay}">
                <telerikGrid:RadDataGrid.Columns>
                    <telerikGrid:DataGridComboBoxColumn PropertyName="Competitie" 
                                                        Header="Competitie"                                                         
                                                        ItemsSource="{x:Bind klasse}"
                                                        DisplayMemberPath="Competitie"
                                                        SelectedValuePath="Klasse_Id" />
                    <telerikGrid:DataGridNumericalColumn PropertyName="Speler1Id" Header="Speler 1"/>
                    <telerikGrid:DataGridNumericalColumn PropertyName="Speler2Id" Header="Speler 2"/>
                    <telerikGrid:DataGridNumericalColumn PropertyName="Speler3Id" Header="Speler 3" />
                    <telerikGrid:DataGridNumericalColumn PropertyName="Speler4Id" Header="Speler 4" />
                    <telerikGrid:DataGridNumericalColumn PropertyName="Speler5Id" Header="Speler 5" />
                    <telerikGrid:DataGridNumericalColumn PropertyName="Speler6Id" Header="Speler 6" />
                    <telerikGrid:DataGridTextColumn PropertyName="Naam" Header="Teamnaam" />
                </telerikGrid:RadDataGrid.Columns>
            </telerikGrid:RadDataGrid>
        </RelativePanel>
    </Grid>

</Page>

C#


namespace GolfComp.Views
{
    /// <summary>
    /// An empty page that can be used on its own or navigated to within a Frame.
    /// </summary>
    public sealed partial class TeamListPage : Page, INotifyPropertyChanged
    {
        ObservableCollection<SpelerModel> speler = new ObservableCollection<SpelerModel>();
        ObservableCollection<GolfclubModel> golfclub = new ObservableCollection<GolfclubModel>();
        ObservableCollection<TeamModel> team = new ObservableCollection<TeamModel>();
        ObservableCollection<CoachModel> coach = new ObservableCollection<CoachModel>();
        ObservableCollection<KlasseModel> klasse = new ObservableCollection<KlasseModel>();
        bool enableCommandBar = true;
        public TeamListPage()
        {
            this.InitializeComponent();
            newRecordStackPanel.Visibility = Visibility.Collapsed;
        }
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);
            GetData();
            wireUpDropdowns();
            if (Datagrid.ItemsSource == null)
            {
                Datagrid.ItemsSource = team;
            }
        }
        public void GetData()
        {
            string sql1 = "SELECT * from Speler";
            var spelerlijst = SqliteDataAccess.LoadData<SpelerModel>(sql1, new Dictionary<string, object>());
            spelerlijst.ForEach(x => speler.Add(x));

            string sql2 = "select * from Golfclub";
            var golfclublijst = SqliteDataAccess.LoadData<GolfclubModel>(sql2, new Dictionary<string, object>());
            golfclublijst.ForEach(x => golfclub.Add(x));

            string sql3 = "SELECT Team.Id, KlasseId, Speler1Id, Speler2Id, Speler3Id, Speler4Id, Speler5Id, Speler6Id, Team.Naam, Klasse_Id, Klasse_Naam, Klasse_Omschrijving from Team " +
                "INNER JOIN Klasse ON Klasse.Klasse_Id = Team.KlasseId;";
            var teamlijst = SqliteDataAccess.LoadData<TeamModel>(sql3, new Dictionary<string, object>());
            teamlijst.ForEach(x => team.Add(x));

            string sql4 = "select * from Coach";
            var coachlijst = SqliteDataAccess.LoadData<CoachModel>(sql4, new Dictionary<string, object>());
            coachlijst.ForEach(x => coach.Add(x));

            string sql5 = "select * from Klasse";
            var klasselijst = SqliteDataAccess.LoadData<KlasseModel>(sql5, new Dictionary<string, object>());
            klasselijst.ForEach(x => klasse.Add(x));

        }

        private void wireUpDropdowns()
        {
            golfclubDropDown.ItemsSource = golfclub;
            golfclubDropDown.DisplayMemberPath = "Naam";
            golfclubDropDown.SelectedValuePath = "Id";

            klasseDropDown.ItemsSource = klasse;
            klasseDropDown.DisplayMemberPath = "Competitie";
            klasseDropDown.SelectedValuePath = "Klasse_Id";
        }   
        private void Delete_Click(object sender, RoutedEventArgs e)
        {
            string sql = "delete from Teams where Id = @Id";
            try
            {
                Dictionary<string, object> parameters = new Dictionary<string, object>
                {
                    { "@Id", SelectedItem.Id }
                };
                SqliteDataAccess.DeleteData(sql, parameters);
                speler.Clear();
                GetData();
            }
            catch
            {
                MessageDialog messagedialog = new MessageDialog("Fout: Selecteer een record");
                _ = messagedialog.ShowAsync();

                return;
            }
        }
        private void UpdateRecord_Click(object sender, RoutedEventArgs e)
        {
            string sql = "update Team set KlasseId = @KlasseId, Speler1Id = @Speler1Id, Speler2Id = @Speler2Id, " +
                "Speler3Id = @Speler3Id, Speler4Id = @Speler4Id, Speler5Id = @Speler5Id, Speler6Id = @Speler6Id, " +
                "Naam = @Naam, CoachId = @CoachId, ClubId = @ClubId, PuntenVoor = @PuntenVoor, PuntenTegen = @PuntenTegen " +
                "where Id = @Id";
            try
            {
                Dictionary<string, object> parameters = new Dictionary<string, object>
                {
                    { "@Id",SelectedItem.Id },
                    { "@KlasseId", SelectedItem.Klasse_Id },
                    { "@Speler1Id", SelectedItem.Speler1Id},
                    { "@Speler2Id", SelectedItem.Speler2Id},
                    { "@Speler3Id", SelectedItem.Speler3Id},
                    { "@Speler4Id", SelectedItem.Speler4Id},
                    { "@Speler5Id", SelectedItem.Speler5Id},
                    { "@Speler6Id", SelectedItem.Speler6Id},
                    { "@Naam", SelectedItem.Naam},
                    { "@CoachId", SelectedItem.CoachId},
                    { "@ClubId", SelectedItem.ClubId},
                    { "@PuntenVoor", SelectedItem.PuntenVoor},
                    { "@PuntenTegen", SelectedItem.PuntenTegen}
                };
                SqliteDataAccess.SaveData(sql, parameters);
                speler.Clear();
                GetData();

                MessageDialog messagedialog = new MessageDialog("Succes: wijzigingen weggeschreven");
                _ = messagedialog.ShowAsync();
            }
            catch (Exception ex)
            {
                MessageDialog messagedialog = new MessageDialog(ex.Message);
                _ = messagedialog.ShowAsync();

                return;
            }
        }
        private void Insert_new_entry(object sender, RoutedEventArgs e)
        {
            enableCommandBar = false;
            newRecordStackPanel.Visibility = Visibility.Visible;
        }
        private void DeleteNewRecord_Click(object sender, RoutedEventArgs e)
        {           
            enableCommandBar = true;
            newRecordStackPanel.Visibility = Visibility.Collapsed;
        }
        private (bool isValid, TeamModel model) ValidateForm()
        {
            bool isValid = true;
            TeamModel model = new TeamModel();

            try
            {
                model.KlasseId = (int)klasseDropDown.SelectedValue;
                model.Speler1Id = 0;
                model.Speler2Id = 0;
                model.Speler3Id = 0;
                model.Speler4Id = 0;
                model.Speler5Id = 0;
                model.Speler6Id = 0;
                model.Naam = TeamNaamTextBox.Text;
                model.CoachId = 0;
                model.ClubId = (int)golfclubDropDown.SelectedValue;
                model.PuntenVoor = 0;
                model.PuntenTegen = 0;

            }
            catch
            {
                isValid = false;
            }
            return (isValid, model);
        }
        private void SaveNewRecord_Click(object sender, RoutedEventArgs e)
        {
            TeamModel model = new TeamModel();

            string sql = "insert into Team (KlasseId, Speler1Id, Speler2Id, Speler3Id, Speler4Id, Speler5Id, Speler6Id, Naam, CoachId, ClubId, PuntenVoor, PuntenTegen ) " +
                "values (@KlasseId, @Speler1Id, @Speler2Id, @Speler3Id, @Speler4Id, @Speler5Id, @Speler6Id, @Naam, @CoachId, @ClubId, @PuntenVoor, @PuntenTegen)";

            var form = ValidateForm();
            if (form.isValid == false)
            {
                MessageDialog messagedialog = new MessageDialog("foutieve invoer. Probeer het opnieuw");

                _ = messagedialog.ShowAsync();

                return;
            }
            if (TeamNaamTextBox.Text == "")
            {
                MessageDialog messagedialog = new MessageDialog("Vul alle velden in");

                _ = messagedialog.ShowAsync();

                return;
            }
            Dictionary<string, object> parameters = new Dictionary<string, object>
            {
                {"@KlasseId", form.model.KlasseId },
                {"@Speler1Id", form.model.Speler1Id },
                {"@Speler2Id", form.model.Speler2Id },
                {"@Speler3Id", form.model.Speler3Id },
                {"@Speler4Id", form.model.Speler4Id },
                {"@Speler5Id", form.model.Speler5Id },
                {"@Speler6Id", form.model.Speler6Id },
                {"@Naam", form.model.Naam },
                {"@CoachId", form.model.CoachId },
                {"@ClubId", form.model.ClubId },
                {"@PuntenVoor", form.model.PuntenVoor },
                {"@PuntenTegen", form.model.PuntenTegen }

            };
            SqliteDataAccess.SaveData(sql, parameters);
            //speler.Add(form.model);
            

            enableCommandBar = true;
            newRecordStackPanel.Visibility = Visibility.Collapsed;

            team.Clear();

            GetData();          

            wireUpDropdowns();
        }
        public event PropertyChangedEventHandler PropertyChanged;
        public void OnPropertyChanged([CallerMemberName] string propertyName = null) =>
             PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));

        private TeamModel _selectedItem;

        public TeamModel SelectedItem
        {
            get => _selectedItem;
            set
            {
                if (_selectedItem != value)
                {
                    _selectedItem = value;
                    OnPropertyChanged();
                }
            }
        }
    }
}

Polya
Telerik team
 answered on 15 Sep 2022
1 answer
146 views

I use a telerik datagrid to display my data in UWP. I want to hide the Id column because this is automatically increased field in my SQLite database. I use it however in various methods. the command this.["Name of the grid"].Columns[1].Visability = false produces an exeption,

I tried various other solutions but nothing seems to work.

Regards Rob

I use: Visual studio 2019

Telerik.UI.for.UWP 1.0.2.9

code XAML:

<Page
    x:Class="GolfComp.Views.KlasseListPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    xmlns:controls="using:Microsoft.Toolkit.Uwp.UI.Controls" 
    xmlns:telerikGrid="using:Telerik.UI.Xaml.Controls.Grid"
    mc:Ignorable="d" 
    Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">

    <Grid>

        <RelativePanel>
            <CommandBar x:Name="mainCommandBar" HorizontalAlignment="Stretch" IsEnabled="{x:Bind enableCommandBar}">

                <AppBarButton
                    Click="Insert_new_entry"
                    Icon="Add"
                    Label="New"
                    ToolTipService.ToolTip="New record"/>
                <AppBarButton
                    Click="Delete_Click"
                    Icon="Delete"
                    Label="Delete"
                    ToolTipService.ToolTip="Delete record" />
                <AppBarButton
                    Click="Refresh_Click"
                    Icon="Refresh"
                    Label="Update"
                    ToolTipService.ToolTip="Update record" />
            </CommandBar>
            <StackPanel
                x:Name="newRecordStackPanel"
                Orientation="Horizontal"                
                RelativePanel.Below="mainCommandBar">
                <TextBox
                    Header="Naam Competitie"
                    PlaceholderText="naam"
                    Margin="8,8,16,8"
                    MinWidth="200"
                    x:Name="NaamTextBox" />
                <TextBox
                    Header="Klasse"
                    PlaceholderText="klasse"
                    Margin="8,8,16,8"
                    MinWidth="200"
                    x:Name="klasseTextBox" />
                <AppBarButton x:Name="DeleteNewRecord" Click="DeleteNewRecord_Click" Icon="Cancel"/>
                <AppBarButton x:Name="SaveNewRecord" Click="SaveNewRecord_Click" Icon="Save"/>
            </StackPanel>        
            
            <telerikGrid:RadDataGrid
             x:Name="DataGrid"
             BorderThickness="0"
             ColumnDataOperationsMode="Flyout"
             GridLinesVisibility="None"
             GroupPanelPosition="Left"
             RelativePanel.AlignLeftWithPanel="True"
             RelativePanel.AlignRightWithPanel="True"
             RelativePanel.Below="newRecordStackPanel"                 
             ItemsSource="{x:Bind klasse}"
             UserEditMode="Inline"              
             SelectedItem="{x:Bind SelectedItem, Mode=TwoWay}"/>
            
            
        </RelativePanel>
    </Grid>
    

</Page>   

 

Lance | Manager Technical Support
Telerik team
 answered on 31 Aug 2022
2 answers
156 views
Hi,

My goal is to create dynamically columns. Columns are added via a timer event. I have access to the data before to set the DataContext.

I found that the DataGrid has the method HitTestService.CellInfoFromPoint/RowItemFromPoint, but it requires a point.

Alternatively, is there a way that I could set the DataContext in another way?
Yana
Telerik team
 answered on 06 May 2022
Narrow your results
Selected tags
Tags
+? more
Top users last month
horváth
Top achievements
Rank 2
Iron
Iron
Steve
Top achievements
Rank 2
Iron
Erkki
Top achievements
Rank 1
Iron
Mark
Top achievements
Rank 2
Iron
Iron
Veteran
Jakub
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
horváth
Top achievements
Rank 2
Iron
Iron
Steve
Top achievements
Rank 2
Iron
Erkki
Top achievements
Rank 1
Iron
Mark
Top achievements
Rank 2
Iron
Iron
Veteran
Jakub
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?