У меня есть сетка данных, которая связывается с источником данных. i set isReadOnly = "False" свойство для редактирования. когда я нажимаю на ячейку, возникает исключение. Xaml код: -окно закрывается при двойном щелчке по datagrid
<DataGrid Name="dataGrid1" AutoGenerateColumns="True" IsReadOnly="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Fee Head" Width="250" Binding="{Binding feename}" IsReadOnly="False"/>
<DataGridTextColumn Header="Amount(Rs.)" Width="250" Binding="{Binding NewAmount}"/>
<DataGridTextColumn Visibility="Hidden" Header="cnt" Width="10" Binding="{Binding id}"/>
</DataGrid.Columns>
</DataGrid>
.cs код: -
var obje = (from tab in cd.FeeDeclarationDetails
join tab2 in cd.AccountHeadDBs on tab.AccountHeaddbid equals tab2.ID
where tab.AccountHeaddbid == tab2.ID
select new { feename = tab2.Head_Name, tab.NewAmount, cnt = (cd.FeeDeclarationDetails.Where(A => A.AccountHeaddbid == 1 && A.FeeDeclarationID == 1).ToList().Count > 0 ? cd.FeeDeclarationDetails.Where(A => A.AccountHeaddbid == 1 && A.FeeDeclarationID == 1).ToList().Count : 0) }).ToList();
dataGrid1.ItemsSource = obje;
я использую linq2sql. и исключение: - привязка TwoWay или OneWayToSource не может работать в качестве свойства «только для чтения» «NewAmount» типа «<> f__AnonymousType6 3[System.String,System.Nullable
1 [System.Int32], System.Int32] '. так как я могу решить эту проблему.
Как говорит исключение, вы получите это, потому что' model' вы хотите отобразить имеет один или несколько свойств для чтения. Вы можете избавиться от исключения, добавив «..., Mode = OneWay» в выражение «Связывание», ссылающееся на эти свойства. –
Я работаю над формой окна, и если я добавляю Mode = "OneWay", то ячейка не редактируется. и установите «TwoWay», тогда возникнет исключение – Joy
. Вы правы, но проблема в этом случае заключается в том, что «Модель», созданная вашим текущим проектом, не может делать то, что вы хотите, поскольку свойство только для чтения просто невозможно отредактировать , И следующий (или предыдущий) вопрос может состоять в том, как вернуть отредактированную модель обратно в базовую БД. Я думаю, что, к сожалению, ваш реальный вопрос может быть слишком большим, чтобы вписаться в вопрос или ответ на один форум, предложите сначала прочитать несколько бесчисленных веб-статей, посвященных началу работы с MVVM. –