Question

Voici la situation:J'ai besoin de lier un WPF FixedPage à l'encontre d'un DataRow.Les liaisons ne fonctionnent pas contre DataRows;ils travaillent contre DataRowViews.J'ai besoin de faire cela dans le plus générique possible, comme je n'y connais rien et n'ont aucun contrôle sur ce qui est dans le DataRow.

Ce que j'ai besoin est d'être en mesure d'obtenir un DataRowView pour une DataRow.Je ne peux pas utiliser le Find() méthode sur la DefaultView parce que cela prend une clé, et il n'y a aucune garantie de la table a une clé primaire définie.

Quelqu'un at-il une suggestion quant à la meilleure manière de contourner cet?

Était-ce utile?

La solution

Pas Exactement un sexy morceau de code, mais leur ne semble pas être un moyen automatisé pour accéder à la ligne sans boucle la table.

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

Autres conseils

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

C'est un bon réponse.Mais si vous vous trouvez dans cette situation, vous devriez envisager d'apprendre plus au sujet de DataViews et comment ils sont utilisés, la refactorisation de code à vue-centric plutôt que de table-centrique.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top