Veri görüntülemesini bir veri dosyasına kopyalamam gerekir. Bunu yapmanın tek yolu, dataview öğesi üzerinden öğe olarak yineleme yapmak ve bir datatable'a kopyalamaktır. Daha iyi bir yolu olmalı.Veri görünümü C# 'daki veri tabanına kopyalamanın en kolay yolu
13
A
cevap
36
dt = DataView.ToTable()
TD
dt = DataView.Table.Copy()
TD
dt = DataView.Table.Clone()
;
3
Durumum için yanıt çalışmıyor çünkü ifadeleri olan sütunlarım var. DataView.ToTable()
sadece değerleri değil, ifadeleri kopyalayacaktır.
//clone the source table
DataTable filtered = dt.Clone();
//fill the clone with the filtered rows
foreach (DataRowView drv in dt.DefaultView)
{
filtered.Rows.Add(drv.Row.ItemArray);
}
dt = filtered;
ama bu çözüm bile sadece 1000 satırlar için çok yavaştı.
benim için çalıştı çözüm:
//create a DataTable from the filtered DataView
DataTable filtered = dt.DefaultView.ToTable();
//loop through the columns of the source table and copy the expression to the new table
foreach (DataColumn dc in dt.Columns)
{
if (dc.Expression != "")
{
filtered.Columns[dc.ColumnName].Expression = dc.Expression;
}
}
dt = filtered;
sayesinde google oldukça kötü bir şekilde beni başarısız oldu. Umarım bu sayfa yüksek sıralanır. – Ravedave
Teşekkürler Jose ... Çalıştı ... –
Not: 'DataView.ToTable()' sadece DataView değerlerini kopyalayacaktır. DataView.Table.Copy() 'DataView'ın filtrelenmiş verilerini değil, kaynak DataTable'ı kopyalayacaktır. DataView.Table.Clone() 'sadece DataTable kaynağının yapısını kopyalayacaktır. – Homer