从DataRow获取DefaultView DataRowView

时间:2008-08-28 14:45:44

标签: wpf binding dataset datarowview defaultview

情况如下:我需要将WPF FixedPage绑定到DataRow。绑定不适用于DataRows;他们反对DataRowViews。我需要以最通用的方式做到这一点,因为我一无所知,无法控制DataRow中的内容。

我需要的是能够获得给定DataRowView的{​​{1}}。我无法在DataRow上使用Find()方法,因为它需要一个密钥,并且无法保证该表将具有主键集。

有没有人建议最好的解决方法?

2 个答案:

答案 0 :(得分:6)

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

        DataRowView newRowView = null;
        foreach (DataRowView tempRowView in myDataTable.DefaultView)
        {
            if (tempRowView.Row == rowToMatch)
                newRowView = tempRowView;
        }
        if (newRow != null)
            UseNewRowView(newRowView);
        else
            HandleRowNotFound();

答案 1 :(得分:3)

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

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