2012-07-23 11 views
12

यदि मेरे पास डेटाग्रिड व्यू uxChargeBackDataGridView है।डेटाग्रिड व्यू रोकाउंट बनाम पंक्तियां। गणना

वाक्य रचना अलग लेकिन प्रभावी ढंग से एक ही ?:

int numRows = uxChargeBackDataGridView.Rows.Count; 
int numRowCount = uxChargeBackDataGridView.RowCount; 

तो uxChargeBackDataGridView रिक्त है तो दोनों 1 के बराबर हैं पालन कर रहे हैं; इसलिए यह तार्किक रूप से खड़ा है कि यदि इनमें से कोई भी 1 के बराबर है तो मैं मान सकता हूं कि उपयोगकर्ता ने कोई डेटा इनपुट नहीं किया है?

WinFroms के पास एक बटन RUN है - क्या मैं यह बटन यह सुनिश्चित करने के लिए उपर्युक्त परीक्षण का उपयोग कर सकता हूं कि क्या यह बटन केवल number of rows is >1 पर सक्षम है या नहीं?

उत्तर

11

दोनों कथन समान हैं। हालांकि, याद रखने की एक बात यह है कि एक "खाली" डेटाग्रिडव्यू में केवल 1 रिकॉर्ड होता है यदि AllowUsersToAddRow संपत्ति सत्य पर सेट की जाती है। अन्यथा, पंक्ति गणना 0.

संपादित करें: मैं एमएमके के उत्तर के बदले जोड़ना चाहता हूं कि यदि आप पंक्ति गणना को नहीं बदलते हैं, तो मैन्युअल रूप से या प्रोग्रामेटिक रूप से, वे वही मान वापस कर देंगे। http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.rowcount.aspx देखें।

+0

इस फार्म के पूरे मुद्दे उपयोगकर्ता से इनपुट के एक चर राशि को स्वीकार करने के लिए नहीं है (कुछ है आप ओपी से जान सकते हैं) तो मुझे संदेह है कि 'AllowUsersToAddRow = false' वास्तव में एक संभावना नहीं है – whytheq

13

रोकाउंट डेटाग्रिड व्यू में प्रदर्शित पंक्तियों की संख्या को प्राप्त या सेट करता है।

Rows.Count पंक्तियों की संख्या

+1

+1 छोटा और बिंदु – whytheq

1

बयान के बाद वापसी एक ही परिणाम हैं, लेकिन ROWCOUNT DataGridView में प्रदर्शित पंक्तियों की संख्या को सीमित देता है ..

int numRows = uxChargeBackDataGridView.Rows.Count; 
int numRowCount = uxChargeBackDataGridView.RowCount; 

पर नीचे टिप्पणी की जाँच करें DataGridView.RowCount Property

तो AllowUserToAddRows सच है, तो आप को 0 पर rOWCOUNT सेट नहीं कर सकता इसमेंकेस, नए रिकॉर्ड के लिए पंक्ति को छोड़कर सभी पंक्तियों को हटाने के लिए DataGridViewRowCollection.Clear विधि को कॉल करें। कॉलिंग क्लियर का परिणाम है जो इस मामले में RowCount को 1 सेट करने के रूप में है, लेकिन यह बहुत तेज़ है। RowCount वर्तमान मूल्य से कम एक मान पर सेट है

हैं, तो पंक्तियों पंक्तियाँ संग्रह के अंत से निकाल दिया जाएगा। यदि RowCount को वर्तमान मान से अधिक मान पर सेट किया गया है, तो पंक्तियों के संग्रह के अंत में पंक्तियां जोड़ दी जाएंगी। अतिरिक्त पंक्तियां RowTemplate संपत्ति में निर्दिष्ट पंक्ति पर आधारित होती हैं।

यदि यह सत्य है तो एक डिफ़ॉल्ट खाली पंक्ति माना जाता है। यह IBindingList interface लागू करता है। रेफरी: DataGridView - what does AllowUserToAddRows do?

DataGridView डेटा करने के लिए बाध्य है, तो उपयोगकर्ता पंक्तियों जोड़ने की अनुमति दोनों इस संपत्ति और डेटा स्रोत के IBindingList.AllowNew संपत्ति सही पर सेट कर रहे हैं है।

1

यदि AllowUserToAddRows सत्य है तो कम से कम एक पंक्ति हमेशा नए रिकॉर्ड के लिए ग्रिड में मौजूद रहेगी। पंक्ति पंक्ति पर संपत्ति IsNewRow के लिए इस पंक्ति को बाहर करने के लिए जांचें।

1

आप विधानसभा System.Windows.Forms.DataGridView डिकंपाइल हैं, तो आप देखेंगे:

public int RowCount 
     { 
      get 
      { 
       return this.Rows.Count; 
      } 

तो, RowCount रिटर्न Rows.Count

संबंधित मुद्दे