2009-04-24 8 views
33

मैं डेटाटेबल या डेटासेट में GridView.DataSource निर्यात कैसे कर सकता हूं?मैं एक डेटाटेबल या डेटासेट को एक GridView.DataSource कैसे निर्यात कर सकता हूं?

+3

क्या वस्तु के प्रकार GridView.DataSource द्वारा की ओर इशारा कर रहा है का प्रयास करें? –

+0

http://www.vbforums.com/showthread.php?t=474895 – TheTXI

उत्तर

23

आप BindingSource में पहली DataSource परिवर्तित करना चाहिए, देखो उदाहरण

BindingSource bs = (BindingSource)dgrid.DataSource; // Se convierte el DataSource 
DataTable tCxC = (DataTable) bs.DataSource; 
tCxC का डेटा आप कुछ भी कर सकते के साथ

37

अपने डेटा स्रोत मानते हुए प्रकार DataTable के है, तो आप सिर्फ यह कर सकते हैं:

myGridView.DataSource as DataTable 
+0

धन्यवाद आप ठीक हैं ... – Penguen

+20

फिर आप कैसे ** ** उत्तर स्वीकार करते हैं ?! – Michael

+0

यह प्रश्न इस प्रश्न का सबसे अच्छा जवाब है, धन्यवाद – MBH

15

व्यक्तिगत तौर पर मैं जाना होगा के साथ:

DataTable tbl = Gridview1.DataSource as DataTable; 

इस रूप में इस में जो परिणाम आप अशक्त के लिए परीक्षण करने की अनुमति होगी या तो डेटाटेबल ऑब्जेक्ट या शून्य। डेटाटेबल (डेटाटेबल) का उपयोग कर डेटाटेबल के रूप में इसे कास्ट करना। डेटासोर्स वास्तव में डेटासेट या यहां तक ​​कि किसी प्रकार का संग्रह होने पर डेटासोर्स क्रैशिंग त्रुटि का कारण बनता है।

सहायक प्रलेखन: MSDN Documentation on "as"

+0

हालांकि इससे कोई त्रुटि उत्पन्न नहीं हुई है, जब मैं अपने डेटाटेबल के मान को जांचने के लिए होवर करता हूं तो यह मुझे शून्य के रूप में दिखाता है ग्रिडव्यू पॉप्युलेट डेटा दिखाता है। डेटाटेबल डीटी = gvJobSearchEngine.DataSource डेटाटेबल के रूप में; –

6

अम्बु,

मैं तुम्हें रूप में एक ही समस्या आ रहा था, और इस कोड को मैं यह पता लगाने के लिए इस्तेमाल किया है। हालांकि, मैं अपने उद्देश्यों के लिए पाद लेख पंक्ति अनुभाग का उपयोग नहीं करता, मैंने इसे इस कोड में शामिल किया था।

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

यह देर से आता है लेकिन काफी उपयोगी था। मैं बस भविष्य में संदर्भ के

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

डेटा। डेटा कोड में आपके कोड का प्रयास करने पर कोई इंटेलिजेंस पॉपअप नहीं था। –

0

मैं कोड की रेखा से नीचे का इस्तेमाल किया है और यह काम करता लिए पोस्टिंग कर रहा हूँ, इस

DataTable dt = dataSource.Tables[0]; 
संबंधित मुद्दे