2015-07-30 2 views
0

У меня есть коллекция DataRowView, связанная с DataGrid. Для некоторых функций мне нужно получить копии некоторых DataRowView s. Я использую следующий метод для его получения.Есть ли лучший способ получить копию DataRowView?

public static DataRowView GetCopyOfRowView(DataRowView rowView) 
{ 
    DataTable table = rowView.DataView.ToTable(); 
    DataRow copyRow = table.NewRow(); 
    copyRow.ItemArray = rowView.Row.ItemArray; 
    table.Rows.InsertAt(copyRow, table.Rows.Count); 
    return table.DefaultView[table.Rows.Count - 1]; 
} 

Но этот метод может оказаться очень дорогостоящим для более чем 1000 строк. Есть ли лучший способ получить это?

ответ

0

У DataTable есть метод копирования, который копирует схему и данные. Не могли бы вы использовать это? Вы сказали, что вам нужно скопировать более 1000 строк ...

+0

Это просто даст мне копию DataTable. У меня есть Observable Collection объектов DataRowView. Мне нужно получить копию 1000 объектов DataRowView из этой коллекции. – nan

+0

Да, я думал, что вы можете получить нужные строки из скопированного стола. Вам нужны мелкие копии или глубокие копии? –

Смежные вопросы