Obtenga DefaultView DataRowView de un DataRow
-
09-06-2019 - |
Pregunta
Esta es la situación:Necesito vincular un WPF FixedPage
contra un DataRow
.Los enlaces no funcionan contra DataRows
;ellos trabajan en contra DataRowViews
.Necesito hacer esto de la manera más genérica posible, ya que no sé nada ni tengo control sobre lo que hay en el DataRow
.
Lo que necesito es poder conseguir un DataRowView
para una dada DataRow
.no puedo usar el Find()
método en el DefaultView
porque eso requiere una clave y no hay garantía de que la tabla tenga una clave principal establecida.
¿Alguien tiene alguna sugerencia sobre la mejor manera de solucionar este problema?
Solución
No es exactamente un código atractivo, pero no parece ser una forma automática de encontrar la fila sin simplemente recorrer la tabla.
DataRowView newRowView = null;
foreach (DataRowView tempRowView in myDataTable.DefaultView)
{
if (tempRowView.Row == rowToMatch)
newRowView = tempRowView;
}
if (newRow != null)
UseNewRowView(newRowView);
else
HandleRowNotFound();
Otros consejos
row.Table.DefaultView[row.Table.Rows.IndexOf(row)]
Esta es una buena respuesta.Pero si se encuentra en esta situación, debería considerar aprender más sobre DataViews y cómo se usan, luego refactorizar su código para que esté centrado en las vistas en lugar de en las tablas.