情况是这样的:我需要绑定一个WPF FixedPage 反对 DataRow. 。绑定不起作用 DataRows;他们反对 DataRowViews. 。我需要以最通用的方式执行此操作,因为我对此一无所知,也无法控制其中的内容 DataRow.

我需要的是能够得到 DataRowView 对于给定的 DataRow. 。我无法使用 Find() 方法上的 DefaultView 因为这需要一个键,并且不能保证该表将具有主键集。

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

有帮助吗?

解决方案

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

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

其他提示

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top