मैं एक DevExpress GridControl जिसके लिए मैं की स्थापना कर रहा हूँ यह डेटा स्रोत है, इसलिए की तरह है:डाटा एक दुकान क्वेरी को सीधे बंधन (DbSet, DbQuery, DbSqlQuery) इकाई की रूपरेखा समर्थित नहीं है 5
var regs = (from vcap in context.chaps
select vcap);
gridControl1.DataSource = new BindingList<chaps>(regs.ToList());
लेकिन जब मैं का उपयोग करें ग्रिड, पंक्तियां जिन्हें मैं जोड़ता हूं या हटाता हूं, सहेजे नहीं जाते हैं, प्रारंभिक पंक्तियों में केवल परिवर्तन ही सहेजे जाते हैं।
अगर मैं ऐसा करते हैं:
gridControl1.DataSource = context.chaps.Local;
मैं किसी भी पंक्तियों नहीं मिलता है, और AddNewRow
भी नेत्रहीन एक नई पंक्ति जोड़ना नहीं है।
मैं ऐसा करते हैं तो:
gridControl1.DataSource = context.chaps.ToList();
मैं पंक्तियों और उन्हें करने के लिए परिवर्तन सहेज सकते हैं; पंक्तियों को दृष्टि से हटा दिया जाता है लेकिन डीबी में नहीं, और AddNewRow
नहीं हो सकता है।
मैं ऐसा करते हैं तो:
gridControl1.DataSource = context.chaps;
मैं इस अपवाद:
Data binding directly to a store query (DbSet, DbQuery, DbSqlQuery) is not supported. Instead populate a DbSet with data, for example by calling Load on the DbSet, and then bind to local data. For WPF bind to DbSet.Local. For WinForms bind to DbSet.Local.ToBindingList().
लेकिन context.chaps.Local या तो एक ToBindingList
विधि नहीं है।
मुझे नहीं लगता कि यह डेवेक्सप्रेस की समस्या है, लेकिन मुझे डेटासेट को सही ढंग से सेट करने का तरीका नहीं मिल रहा है। context.chaps.Local.ToBindingList()
समकक्ष पाने का कोई तरीका है?
तो मैंने gridControl1.DataSource = DbExtensions.ToBindingList (context.capitulo.Local); जो पूरी तरह से काम करता है! मैं जोड़, संशोधित और हटा सकता हूं। सिवाय इसके कि यह शुरू में सभी पंक्तियों को लोड नहीं करता है (मेरा डेटाग्रिड खाली है)। कोई विचार यह कैसे करना है? या मैंने जवाब गलत समझा? –
user2414791
@ user2414791: एक्सटेंशन विधियों का उपयोग करते समय मानक वाक्यविन्यास सामान्य उदाहरण विधियों के समान है: 'gridControl1.DataSource = context.capitulo.Local.ToBindingList();'। लेकिन मुझे नहीं लगता कि यह समस्या को ठीक करेगा। बेशक आपको डीबी से कुछ भी लोड करने के लिए अभी भी 'regs.ToList() 'या' regs.Load() 'या' context.chaps.Load() 'का उपयोग करना होगा। 'लोकल 'कोई क्वेरी नहीं चलाता है, यह केवल उन संस्थाओं को प्रदान करता है जो पहले से ही' पर्यवेक्षण चयन 'के रूप में लोड किए गए हैं। – Slauma
बिल्कुल सही! धन्यवाद!!!! – user2414791