Radgridview ist filled with data from database. CRUD works fine.
The RadGridview doesn`t show any changes made outside in the database.
Adding Mode=TwoWay cause readonly error of the QueryableEntityCollectionView data binding
<UserControl x:Class="ERP.AdminModule.Views.AdminMainView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300"
xmlns:prism="http://prismlibrary.com/"
prism:ViewModelLocator.AutoWireViewModel="True">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<telerik:RadButton Content="Save" Command="{Binding Path=SubmitCommand}" CommandParameter="SubmitOrder" Margin="207,86,10,113.2"/>
<telerik:RadGridView Name="customersGrid" GroupRenderMode="Flat"
Grid.Row="1"
Margin="0, 5, 0, 0"
AutoGenerateColumns="False"
ItemsSource="{Binding RolesView, Mode=TwoWay}"
IsReadOnly="False"
RowIndicatorVisibility="Collapsed"
CanUserFreezeColumns="False"
CanUserResizeColumns="False"
>
<telerik:RadGridView.Columns>
<telerik:GridViewDataColumn Header="RoleID"
DataMemberBinding="{Binding RoleID}" />
<telerik:GridViewDataColumn Header="Name"
DataMemberBinding="{Binding Name}" />
<telerik:GridViewDataColumn Header="Prio"
DataMemberBinding="{Binding Prio}" />
</telerik:RadGridView.Columns>
<i:Interaction.Triggers>
<i:EventTrigger EventName="RowEditEnded" >
<i:InvokeCommandAction Command="{Binding Path=SubmitCommand}" CommandParameter="SubmitOrder" />
</i:EventTrigger>
</i:Interaction.Triggers>
</telerik:RadGridView>
</Grid>
</UserControl>
using System;
using System.Collections.ObjectModel;
using System.Linq;
using Prism.Events;
using ERP.DAL;
using Prism.Mvvm;
using Telerik.Windows.Data;
using System.Windows.Input;
using Prism.Commands;
using System.Threading.Tasks;
namespace ERP.AdminModule.ViewModels
{
class AdminMainViewModel: BindableBase
{
public QueryableEntityCollectionView<ACL_Roles> rolesView;
private readonly myERPContext ctx;
public ICommand SubmitCommand { get; private set; }
public AdminMainViewModel(IEventAggregator eventAggregator) : base()
{
try
{
this.ctx = new myERPContext();
this.rolesView = new QueryableEntityCollectionView<ACL_Roles>((ctx as System.Data.Entity.Infrastructure.IObjectContextAdapter).ObjectContext, "ACL_Roles");
this.SubmitCommand = new DelegateCommand<object>(this.OnSubmit, this.CanSubmit);
}
catch
{
}
}
private void OnSubmit(object arg) { ctx.SaveChanges(); }
private bool CanSubmit(object arg) { return true; }
public QueryableEntityCollectionView<ACL_Roles> RolesView
{
get { return this.rolesView; }
}
}
}