【问题标题】:window is close when double click on datagrid双击数据网格时窗口关闭
【发布时间】:2015-02-19 07:59:14
【问题描述】:

我有一个与数据源绑定的数据网格。我将 isReadOnly="False" 属性设置为编辑。当我单击单元格时,会发生异常。 Xaml 代码:-

<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 绑定无法对“f__AnonymousType63[System.String,System.Nullable1[System.Int32],System.Int32]”类型的只读属性“NewAmount”起作用。所以我该如何解决这个问题.

【问题讨论】:

  • 正如例外所说,您得到它是因为您要显示的Model 具有一个或多个只读属性。您可以通过在引用这些属性的“绑定”表达式中添加 ...,Mode=OneWay} 来消除异常。
  • 我正在处理窗口窗体,如果我添加 Mode="OneWay" 则单元格不可编辑。并设置“TwoWay”然后发生异常
  • 您是对的,但在这种情况下,问题是您当前设计创建的“模型”无法执行您想要的操作,因为只读属性无法编辑。下一个(或上一个)问题可能是如何将编辑后的模型返回到后端数据库。我认为不幸的是,您的实际问题可能太大而无法放入单个论坛问题或回复中,建议您先阅读一些关于 MVVM 模式的无数入门网络文章。

标签: wpf xaml linq-to-sql wpfdatagrid


【解决方案1】:

您的类型为 FeeDeclarationDetails 的属性“NewAmount”似乎是只读属性..确保它有一个设置器..

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多