Witam.
Mam pewien problem listView. Do rzeczy!
Kod odpowiedzialny za pobranie danych z bazy.
var usrList = from DataClasses1DataContext in tabela.USERs select DataClasses1DataContext;
var grList = from DataClasses1DataContext in tabela.GROUPs select DataClasses1DataContext;
var joincik = from U in usrList
join G in grList
on U.Group equals G.ID
select new
{
U.ID,
G.Name,
U.Group
U.Surname,
};
IQueryable test = joincik.AsQueryable();
testView.ItemsSource = test;
W tabeli USER przechowywany jest ID grupy. Tabela GRUPA zaś zawiera jedynie swoje ID i nazwę grupy.
Wszystko pięknie ładnie wygląda do momentu, aż chcę coś z otrzymanym wynikiem zrobić. Chcę na przykład pobrać konkretną wartość do pola TextBox.
Okienko: http://njp.pl/wpf/lista.jpg
Ogólnie to chcę, żeby się na liście wyświetlał nie-ID grupy, lecz jej nazwa.
Kod:
<Window.Resources>
<GridView x:Key="GV">
<GridView.Columns>
<GridViewColumn Header="NumerID" DisplayMemberBinding="{Binding Path=Number}"/>
<GridViewColumn Header="GrupaID" DisplayMemberBinding="{Binding Path=Group}" />
<GridViewColumn Header="Grupa nazwa" DisplayMemberBinding="{Binding Path=Name}" />
<GridViewColumn Header="Nazwisko" DisplayMemberBinding="{Binding Path=Surname}" />
</GridView.Columns>
</GridView>
</Window.Resources>
<Grid Margin="5" DataContext="{Binding ElementName=testView, Path=SelectedItem}" Background="AliceBlue" >
<ListView Name="testView" View="{DynamicResource GV}"
Background="AliceBlue" BorderBrush="Black" IsTabStop="False" SelectedIndex="-1"
SelectionMode="Single" FlowDirection="LeftToRight"
OpacityMask="Cyan" Margin="0,0,-2,29">
</ListView>
<TextBox Height="23" Margin="-2,0,0,0" Name="textBox_IDBazy" Text="{Binding Path=Name}" VerticalAlignment="Bottom" />
</Grid>
Po kliknięciu na dowolnym rekordzie program się zawiesza. Informacja z debugger'a:
A TwoWay or OneWayToSource binding cannot work on the read-only property 'Name' of type
'<>f__AnonymousType0`14[System.String,System.Nullable`1[System.Int32],
System.Nullable`1[System.Int32],System.Nullable`1[System.Int32],System.Nullable`1[System.Int32],
System.String,System.String,System.Int32,System.Nullable`1[System.Int32],System.Nullable`1[System.Int32],
System.Nullable`1[System.Int32],System.Nullable`1[System.Int32],System.String,System.Int32]'.
Informacje o rzuconym wyjątku: http://njp.pl/wpf/debug_info.txt
Co robię źle i jak to naprawić?
Z góry dziękuję za czas poświęcony mi i pozdrawiam :)