Column names in column selector are not visible in Android the first time the column selector is shown. This happens only in the case UserFilterMode is disabled.
Refer to the attached reproducible.
1. Run app and apply a filter: "Contains 0"
2. Notice #40 is in the correct location, between #30 and #50
3. Press the button on the bottom of the page to go BlankPage and then navigate back.
4. Observe #40 is now at the end of the rows even though the filter is clearly applied.
Look in MainPageViewModel.cs lines 42 to 49. When the navigation back occurs, this code is executed. I can reproduce the problem with both Replace and Add+Remove operations.
public override void OnNavigatedTo(INavigationParameters parameters)
{
base.OnNavigatedTo(parameters);
if (!parameters.ContainsKey("from"))
{
var items = new ObservableCollection<MyModel>();
for (var i = 1; i <= 100; i++)
items.Add(new MyModel { Number = i.ToString() });
Items = items;
}
else
{
var item = Items[39];
// Bug Test #1 - using ObservableCollection Reset
Items[39] = item;
// Bug Test #2 - using ObservableCollection Remove & Add
//Items.RemoveAt(39);
//Items.Insert(39, item);
}
}
The DataGrid has the ability to add custom controls to the cell via Template columns; however, the contents of the cell are always visible and there is no way to distinguish between editing and display modes like you can with the type data columns. Furthermore, it may be desirable to create custom column types as the reusability would be easier than using a template or a template selector.
Currently, the DataGrid columns are public and unsealed; however, much of their internals are marked as internal. For example, overriding the CreateCellArranger method would allow custom editor types when the cell is edited. This would require exposing the CellArranger base classes as well.
Please mark more of the internals as public so that truely custom DataGridColumns can be created.
Hi Team,
Currently, you have ScrollItemIntoView support. However, that does not work unless you have rows and a reference to the data item.
I need an explicit mechanism to pick a specific X/Y cell position, or at least a column index, that can be scrolled to so that I can have horizontal scrolling capability.
For example, imagine a DataGrid that has only one row, but a 100 columns, I would like to be able to do this:
// Option 1 - Use the ItemsSource column reference
var dataTableColumn = this.myDataTable.Columns[50];
this.MyDataGrid.ScrollIntoView(dataTableColumn);
// Option 2 - Better!
// This supports any possible data source type
var telerikColumn = this.MyDataGrid.Columns[50];
this.MyDataGrid.ScrollIntoView(telerikColumn);
// Option 3 - Ideal
// Useful for every possible occasion
var x = 5;
var y = 12;
this.MyDataGrid.ScrollIntoView(x, y);
Available in the R2 2018 release.
After items have been inserted at runtime in a DataGrid that uses grouping, visual glitches occur and upon tapping an exception is being thrown. The visual glitches may include an item overlapping a group header; missing items; duplicated items. Upon tapping an incorrectly drawn group header, an exception is thrown. Available in minor release 2017.3.1214. It will also be available in the R1 2018 release.
Available in the R1 2018 release.
Available in the R1 2018 release.