2012-12-02 16 views
5

में DragnDrop फ़ाइल में मेरे पास gridOperations नाम के DataGrid हैं। मैं सच करने के लिए AllowDrop निर्धारित किया है, और निम्न कोड का प्रयोग किया:DataGridView

private void gridOperations_DragDrop(object sender, DragEventArgs e) 
{ 

    if (e.Data.GetDataPresent(DataFormats.FileDrop)) 
    { 
     var files = (string[])e.Data.GetData(DataFormats.FileDrop); 
     foreach (var filePath in files) 
     { 
      MessageBox.Show(filePath); 
     } 
    } 

} 

private void gridOperations_DragEnter(object sender, DragEventArgs e) 
{ 
    if (e.Data.GetDataPresent(DataFormats.FileDrop)) 
     e.Effect = DragDropEffects.All; 
    else 
     e.Effect = DragDropEffects.None; 
} 

लेकिन जब मैं DataGrid में फ़ाइल खींचें करने की कोशिश, यह मेरे 'बंद' कर्सर देता है। मैं क्या गलत कर रहा हूं?

संभव है क्योंकि यह सूची से जुड़ा हुआ है?

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

+2

बस पुष्टि करने के लिए, लेकिन आपने 'DataGridView' पर 'AllowDrop' सेट किया है, है ना? मैं पूछता हूं क्योंकि मूल रूप ड्रैग और ड्रॉप की अनुमति भी दे सकता है। –

+0

मुझे भी इसी तरह की समस्या का सामना करना पड़ा है और मेरे मामले में मैंने AllowDrop को सत्य पर सेट नहीं किया था। – mihirj

+0

@ क्रिस्टियन यदि आप चाहते हैं कि समुदाय आपकी मदद करे, तो आपको अपनी समस्या के बारे में अधिक जानकारी प्रदान करनी चाहिए। –

उत्तर

1

क्या आपका ग्रिड और सभी मूल नियंत्रण सक्षम हैं?

आपका कोड सही है और यह काम करता है। केवल एक चीज जिसे मैं सोच सकता हूं वह यह है कि आपका ग्रिड व्यू सक्षम नहीं हो सकता है। क्या आप एप्लिकेशन चालू होने पर क्लिक करके ग्रिड की वर्तमान पंक्ति बदल सकते हैं?