2009-04-24 21 views

cevap

23

Bakabilirsin, BindingSource ilk DataSource dönüştürmek gerekir örneği her şeyi yapabilirsin tCxC ait verilerle

BindingSource bs = (BindingSource)dgrid.DataSource; // Se convierte el DataSource 
DataTable tCxC = (DataTable) bs.DataSource; 

.

37

sizin DataSource tipi DataTable olduğu varsayıldığında, sadece bunu yapabilirsiniz: Bu, bu sonuçlanır gibi boş test etmek için izin verecek

DataTable tbl = Gridview1.DataSource as DataTable; 

:

myGridView.DataSource as DataTable 
+0

Teşekkür ederiz ... – Penguen

+20

Peki ya sen nasıl cevap ** kabul **? – Michael

+0

Bu soru için en iyi yanıt bu, teşekkür ederim – MBH

15

Şahsen ben giderdim DataTable nesnesi veya boş. DataSource (DataTable) kullanarak Gridview1.DataSource DataTable bir DataSet veya hatta bir tür koleksiyon aslında bir çökme hatasına neden olur.

Destekleyici Belgeler: MSDN Documentation on "as"

+0

Bu hata oluşturmadı, ancak datatable'ımın değerini denetlemek için vurgulu olarak gösterir. gridview nüfus verilerini gösterir. DataTable olarak DataTable dt = gvJobSearchEngine.DataSource; Kodunuzu denediğimde –

6

Ambu,

Seninle aynı sorunu yaşıyordu ve bu onu anlamaya kullanılan koddur. Ancak, altbilgi satırı bölümünü benim amacım için kullanmamama rağmen, bu koda ekledim.

DataTable dt = new DataTable(); 

    // add the columns to the datatable    
    if (GridView1.HeaderRow != null) 
    { 

     for (int i = 0; i < GridView1.HeaderRow.Cells.Count; i++) 
     { 
      dt.Columns.Add(GridView1.HeaderRow.Cells[i].Text); 
     } 
    } 

    // add each of the data rows to the table 
    foreach (GridViewRow row in GridView1.Rows) 
    { 
     DataRow dr; 
     dr = dt.NewRow(); 

     for (int i = 0; i < row.Cells.Count; i++) 
     { 
      dr[i] = row.Cells[i].Text.Replace("&nbsp;",""); 
     } 
     dt.Rows.Add(dr); 
    } 

    // add the footer row to the table 
    if (GridView1.FooterRow != null) 
    { 
     DataRow dr; 
     dr = dt.NewRow(); 

     for (int i = 0; i < GridView1.FooterRow.Cells.Count; i++) 
     { 
      dr[i] = GridView1.FooterRow.Cells[i].Text.Replace("&nbsp;",""); 
     } 
     dt.Rows.Add(dr); 
    } 
-1

Bu geç geliyor ama oldukça yardımcı oldu. Ben sadece ileride başvurmak

DataTable dt = new DataTable(); 
Data.DataView dv = default(Data.DataView); 
dv = (Data.DataView)ds.Select(DataSourceSelectArguments.Empty); 
dt = dv.ToTable(); 
+0

Data.DataView'de herhangi bir intellisense penceresi yoktu. –

0

ben kod sınırının altında kullanmış ve işe yarıyor için ilanıyla, nesnenin tipi GridView.DataSource tarafından gösterilen bu ne

DataTable dt = dataSource.Tables[0]; 
İlgili konular