2012-03-16 10 views
6

को अपडेट के बाद ताज़ा नहीं मैं इस प्रकार एक खिड़कियों फार्म पर एक XtraGrid नियंत्रण, एक वस्तु सेट करने के लिए बाध्य है। एक ग्राहक को संपादित करने के मैं अपने संपादित फार्म के लिए चयनित पंक्ति के Client वस्तु गुजरती हैं, और इस प्रकार परिवर्तन सहेजने हो:XtraGrid अपने डेटा स्रोत

var rows = mainView.GetSelectedRows(); 
var editClient = ((Client)mainView.GetRow(rows[0])); 
var editForm = new ClientDetailForm 
        { 
         EditClient = editClient 
        }; 
var result = editForm.ShowDialog(); 
if (result == DialogResult.OK) 
{ 
    ObjectContext.SaveChanges(SaveOptions.AcceptAllChangesAfterSave); 
    clientGrid.RefreshDataSource(); 
} 

परिवर्तन मैं संपादित रूप में बनाने के डीबी के लिए जारी रहती है, लेकिन मैं करने के कई तरीके की कोशिश की है ग्रिड को अद्यतन करने की कोशिश कर रहा है, और जब तक मैं एप्लिकेशन को पुनरारंभ नहीं करता तब तक यह जिद्दी से इनकार करता है। मैं क्या गलत कर रहा हूं? इस तरह परिवर्तन करने के बाद अपने डेटा स्रोत को रीसेट करने के

उत्तर

6

प्रयास करें:

yourGrid.DataSource = null; // you might not need this, but it's my practice 
yourGrid.DataSource = data_source; 
+3

, काम करता है धन्यवाद कि ताज़ा चाहिए था की कोशिश की, लेकिन यह कुछ भी नहीं है कि किसी और मेरे लिए एक सा मस्तिष्क मर चुका है, सहित ' रीफ्रेशडेटा स्रोत 'विधि, काम करता है। ईवी डेटा स्रोतों के साथ DevExpress नियंत्रण थोड़ा पीछे लग रहा है। – ProfK

+0

मेरी राय में, एक ग्रिडव्यू कुछ और नहीं करता है लेकिन डेटा प्रदर्शित करता है। एक प्रोग्रामर को यह बताना चाहिए कि डेटा स्रोत बदल गया है, ताकि वह डेटा को फिर से प्रदर्शित कर सके। मुझे नहीं पता कि DevExpress में यह सुविधा है या नहीं, या हमें इसे मैन्युअल रूप से करना चाहिए। – jaselg

2

मैंने पाया कि

Grid.RefreshDataSource(); 

काम करता है तुम इतनी तरह कोड के माध्यम से डेटा स्रोत बाध्यकारी हैं, तो अपेक्षा के अनुरूप करने के लिए एक कॉल:

IndicationSummaryGrid.DataBindings.Add("DataSource", Presenter, "SummaryDetailList", true, DataSourceUpdateMode.OnPropertyChanged); 

जहां "डेटासोर्स" ग्रिड संपत्ति बंधी जा रही है, प्रस्तुतकर्ता बी वस्तु है ound और सारांश DetailList प्रस्तुतकर्ता से संबंधित वस्तुओं की एक सूची है।

+0

हमारी परियोजनाओं में से एक में यह काम नहीं करता है (यह उप-कॉलम के साथ एक ग्रिड है। AddRemove सामान्य रूप से काम करता है - उपयोगकर्ता को कुछ क्लिक करने के लिए क्लिक करता है - बाद में ग्रिडव्यू कोई और अपडेट नहीं करता है ...) – Offler

0

मेरा सुझाव है कि आप इस

clientListBindingSource.ResetBindings(False); 

यह बाध्यकारी स्रोत जिससे ताज़ा करने के लिए ग्रिड