2009-10-29 17 views
5

के साथ डेटाटेबल ऑब्जेक्ट बनाना मैं एक डेटाटेबल को एक एग्रीजन में डाटाबेस करने की कोशिश कर रहा हूं और मुझे पता चला है कि यदि मैं टेबल एडाप्टर का उपयोग कर डेटाबेस से डेटाटेबल को पुनर्प्राप्त करता हूं तो यह पूरी तरह से accordion से जुड़ जाता है हालांकि मैं जो करना चाहता हूं वह है डमी तालिका बनाने के लिए कोड (प्रयोजनों के परीक्षण अगर मैं अपने डेटाबेस के लिए पहुँच नहीं है के लिए) एक डमी तालिका बनाने के नीचे है:डमी डेटा

DataTable table2 = new DataTable("articletable"); 
    table2.Columns.Add("articleID"); 
    table2.Columns.Add("title"); 
    table2.Columns.Add("content"); 

    DataRow row = table2.NewRow(); 
    row[0] = "1"; 
    row[1] = "article name"; 
    row[2] = "article contents go here"; 
    table2.Rows.Add(row); 

जब मैं डेटा करने की कोशिश है कि तालिका बाँध तथापि अकॉर्डियन प्रदर्शित नहीं करता है । मैं इसे ग्रिडव्यू या विवरणदृश्य से जोड़ सकता हूं लेकिन accordion नहीं।

+0

आप अधिक जानकारी जोड़ने की कोशिश कर सकते हैं का निर्माण करने के लिए अकॉर्डियन नियंत्रण बाध्य कर सकते हैं कॉलम जैसे dTable.Columns.Add ("firstName", Type.GetType ("System.String"))? –

+0

मैं कोशिश कर सकता था लेकिन जैसा कि मैंने कहा था कि मैं उस तालिका को बिना किसी समस्या के ग्रिडव्यू में डेटाबेस कर सकता हूं। – Morgeh

उत्तर

18

में स्तंभों दीवार के खिलाफ मेरे सिर पीटने के 4 घंटे के बाद का प्रकार निर्दिष्ट करें, मुझे पता चला कि डेटा स्रोत क्षेत्र बहुत picky है।

DataSet ds = new DataSet(); 

     DataTable dt = new DataTable(); 
     dt.Columns.Add("Name"); 
     dt.Columns.Add("Branch"); 
     dt.Columns.Add("Officer"); 
     dt.Columns.Add("CustAcct"); 
     dt.Columns.Add("Grade"); 
     dt.Columns.Add("Rate"); 
     dt.Columns.Add("OrigBal"); 
     dt.Columns.Add("BookBal"); 
     dt.Columns.Add("Available"); 
     dt.Columns.Add("Effective"); 
     dt.Columns.Add("Maturity"); 
     dt.Columns.Add("Collateral"); 
     dt.Columns.Add("LoanSource"); 
     dt.Columns.Add("RBCCode"); 

     dt.Rows.Add(new object[] { "James Bond, LLC", 120, "Garrison Neely", "123 3428749020", 35, "6.000", "$24,590", "$13,432", 
      "$12,659", "12/13/21", "1/30/27", 55, "ILS", "R"}); 

     ds.Tables.Add(dt); 

     accReportData.DataSourceID = null; 
     accReportData.DataSource = ds.Tables[0].DefaultView; 
     accReportData.DataBind(); 

बाहर कर देता है कि अकॉर्डियन केवल एक डाटासेट तालिका के defaultview करने के लिए बाध्य किया जा रहा पसंद करती है:

यहाँ मेरी कोड है। मैंने केवल डेटाटेबल (डीटी) को बाध्य करने की कोशिश की और यह असफल रहा। यहां तक ​​कि dt.DefaultView विफल रहा। एक बार जब मैंने इसे डेटासेट में जोड़ा, तो यह एक चैंप की तरह बांधता है। बर्बाद समय के साथ, बहुत परेशान। मुझे पता है कि शायद आप लंबे समय से भूल गए हैं, लेकिन मैं इसे भविष्य के खोजकर्ताओं के लिए उपलब्ध बनाना चाहता था। Accordion.DataSource को काम करने के लिए DataSet.Table.DefaultView से बाध्य होना चाहिए।

1

सुनिश्चित करें कि आप table2.Columns.Add (...)

0

इसके अलावा, नीचे इस सवाल का जवाब के रूप में देखा:

https://stackoverflow.com/a/6108163/637903

आप एक DataTableReader मूल DataTable

accReportData.DataSource = new System.Data.DataTableReader(ds.Tables[0]); 
accReportData.DataBind(); 
संबंधित मुद्दे