8

情况如下:我需要将 WPF 绑定FixedPageDataRow. 绑定不适用于DataRows; 他们反对DataRowViews。我需要以最通用的方式执行此操作,因为我对DataRow.

我需要的是能够得到一个DataRowView给定的DataRow. 我不能在 上使用该Find()方法,DefaultView因为它需要一个键,并且不能保证该表将设置一个主键。

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

4

2 回答 2

6

不完全是一段性感的代码,但它们似乎不是一种无需循环表格即可自动查找行的方法。

        DataRowView newRowView = null;
        foreach (DataRowView tempRowView in myDataTable.DefaultView)
        {
            if (tempRowView.Row == rowToMatch)
                newRowView = tempRowView;
        }
        if (newRow != null)
            UseNewRowView(newRowView);
        else
            HandleRowNotFound();
于 2011-08-08T23:35:32.837 回答
4
row.Table.DefaultView[row.Table.Rows.IndexOf(row)]

这是一个好的答案。但是如果你发现自己处于这种情况,你应该考虑更多地了解 DataViews 以及它们是如何使用的,然后将你的代码重构为以视图为中心而不是以表为中心。

于 2008-08-28T14:52:16.900 回答