【问题标题】:telerik gridview in silverlight using mvvm使用mvvm在silverlight中的telerik gridview
【发布时间】:2010-10-24 13:15:47
【问题描述】:

我在 mvvm silverlight 项目中使用 teleriks gridview。我正在努力使行的编辑工作。如果我双击一个单元格,我可以更改该行的文本。我有一个保存按钮的命令。但是当我查看我的 ObservableCollection prog 时,我看不到变化。所以我去改变一切从 observableCollection 到只是一个通用列表,现在我正在努力将数据绑定到网格。通过可观察的集合,我能够最初将数据绑定到网格。

    private ObservableCollection<Program> _programResults;
    public ObservableCollection<Program> ProgramResults
    {
        get { return _programResults; }
        set { SetObject(ref _programResults, value, "ProgramResults"); }
    }

<telerik:RadGridView Margin="5,5,5,5" ShowGroupPanel="False" Height="300" ItemsSource="{Binding ProgramResults, Mode=TwoWay}" SelectedItem="{Binding SelectedProgram, Mode=TwoWay}" AutoGenerateColumns="False" VerticalAlignment="Top">
                <telerik:RadGridView.Columns>
                    <telerik:GridViewDataColumn Header="Program ID" DataMemberBinding="{Binding ProgramResults.ProgramID}" MinWidth="300"></telerik:GridViewDataColumn>
                    <telerik:GridViewDataColumn Header="Program Name" DataMemberBinding="{Binding Name}" MinWidth="300"></telerik:GridViewDataColumn>                       
            </telerik:RadGridView>

【问题讨论】:

    标签: silverlight mvvm telerik


    【解决方案1】:

    格夫仁,

    我看到的第一个阻止您的集合更新的问题是您的绑定只是一种方式。试试这样的。

    <telerik:GridViewDataColumn Header="Program Name" DataMemberBinding="{Binding Name, Mode=TwoWay}" MinWidth="300"></telerik:GridViewDataColumn>                        
    

    现在您可能不会想出某种方法来确定收集保存时更改了哪些记录。

    也许在您的 ViewModel 和您的每个 SelectedProgram 对象的集合中创建一个集合,将 Id 插入该集合,然后在触发 Save 时循环通过该集合并更新这些记录。

    这些是对 ObservableCollection 的建议。您需要确保您的对象实现 INPC。如果遇到问题,请检查输出窗口中的数据绑定错误。

    【讨论】:

      【解决方案2】:

      我们已经结束对选定项目使用对话框并通过另一个视图更新数据。通过绑定获取选中的项目很简单,这似乎解决了我们的问题

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-03-02
        • 1970-01-01
        • 2011-07-16
        • 2012-02-20
        • 1970-01-01
        • 2011-12-24
        • 1970-01-01
        相关资源
        最近更新 更多