wpfbindingdatasetdatarowviewdefaultview

Get the DefaultView DataRowView from a DataRow


Here's the situation: I need to bind a WPF FixedPage against a DataRow. Bindings don't work against DataRows; they work against DataRowViews. I need to do this in the most generic way possible, as I know nothing about and have no control over what is in the DataRow.

What I need is to be able to get a DataRowView for a given DataRow. I can't use the Find() method on the DefaultView because that takes a key, and there is no guarantee the table will have a primary key set.

Does anybody have a suggestion as to the best way to go around this?


Solution

  • Not Exactly a sexy piece of code but their doesn't seem to be an automated way to find the row without just looping the table.

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