关于wpf:从DataRow获取DefaultView DataRowView

关于wpf:从DataRow获取DefaultView DataRowView

Get the DefaultView DataRowView from a DataRow

在这种情况下:我需要将WPF FixedPage绑定到DataRow。绑定对DataRows不起作用;他们针对DataRowViews工作。我需要以最通用的方式执行此操作,因为我对此一无所知,也无法控制DataRow中的内容。

我需要的是能够为给定的DataRow获取一个DataRowView。我不能在DefaultView上使用Find()方法,因为它需要一个键,并且不能保证该表将具有主键集。

有人对解决此问题的最佳方法提出建议吗?


并非完全是一段性感的代码,但它们似乎不是在不循环表的情况下自动查找行的方法。

1
2
3
4
5
6
7
8
9
10
        DataRowView newRowView = null;
        foreach (DataRowView tempRowView in myDataTable.DefaultView)
        {
            if (tempRowView.Row == rowToMatch)
                newRowView = tempRowView;
        }
        if (newRow != null)
            UseNewRowView(newRowView);
        else
            HandleRowNotFound();

1
row.Table.DefaultView[row.Table.Rows.IndexOf(row)]

这是一个好的答案。但是,如果您发现自己处于这种情况下,则应考虑了解有关DataView及其使用方式的更多信息,然后将代码重构为以视图为中心,而不是以表为中心。


推荐阅读