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?

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top