Ottenere i DefaultView DataRowView da un DataRow
-
09-06-2019 - |
Domanda
Ecco la situazione:Ho bisogno di associare un WPF FixedPage
contro un DataRow
.Associazioni non funzionano contro DataRows
;lavorano contro DataRowViews
.Ho bisogno di fare questo nel modo più generico possibile, come io non so niente e non hanno alcun controllo su ciò che è in DataRow
.
Ciò di cui ho bisogno è di essere in grado di ottenere un DataRowView
per un dato DataRow
.Non posso usare il Find()
metodo DefaultView
perché quello che serve una chiave, e non vi è alcuna garanzia che la tabella ha una chiave primaria set.
Qualcuno ha un suggerimento per il modo migliore per andare in giro per questo?
Soluzione
Non è Esattamente un sexy pezzo di codice, ma loro non sembrano essere un modo automatizzato per trovare la riga senza giusta loop tabella.
DataRowView newRowView = null;
foreach (DataRowView tempRowView in myDataTable.DefaultView)
{
if (tempRowView.Row == rowToMatch)
newRowView = tempRowView;
}
if (newRow != null)
UseNewRowView(newRowView);
else
HandleRowNotFound();
Altri suggerimenti
row.Table.DefaultView[row.Table.Rows.IndexOf(row)]
Questo è un bene rispondere.Ma se vi trovate in questa situazione, si dovrebbe considerare l'apprendimento di più su Dataview e come essi vengono utilizzati, quindi il refactoring del codice per essere vista-centric anziché tabella-centric.