You can reproduce this by changing input language to any region that uses a comma decimal separator (e.g. Duetsch). The comma is ignored, ultimately corrupting the data
<Style TargetType="telerikGrid:DataGridColumn">
<Setter Property="HeaderStyle">
<telerikGrid:DataGridColumnHeaderStyle TextFontSize="11" TextFontAttributes="Bold" BorderThickness="1" BorderColor="LightGray"/>
</Setter>
<Setter Property="CellContentStyle">
<telerikGrid:DataGridTextCellStyle FontSize="10"/>
</Setter>
</Style>
Filtering UI can be customized through the FilterControlTemplate property of the DataGridColumn: DataGrid: FilterControl Template.
We should provide a way to customize the Grouping UI including the Visible Columns area.
SizeMode="Fill" for Xamarin.Forms datagrid column to fill the space left
e.g.
<radDataGrid:DataGridDateColumn PropertyName="Date" SizeMode="Fixed" Width="80" />
<radDataGrid:DataGridTextColumn PropertyName="Title" SizeMode="Fill" />
<radDataGrid:DataGridNumericalColumn PropertyName="Score" SizeMode="Auto" />
=>
First column has width 80, 3rd column has width of content (already working)
NEW: Second column occupies the space left
Currently the DataGrid uses a GroupDescriptorCollection type for GroupDescriptors, which is not bindable (even with OneWayToSource mode). The same holds true for the Filter and Sort collections. It would be nice to follow the same paradigm as the completed RadListView feedback item here: https://feedback.telerik.com/Project/168/Feedback/Details/211065-listview-make-groupdescriptors-sortdescriptors-and-filterdescriptors-collection
Provide an option to programmatically reset the ordering of the columns in the DataGrid after reordering them using the Options-> more button
There isn't a command which can be used for resetting the column reorder.
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.