मेरे रूपों में से एक में डेटाग्रिडव्यू डेटाबेस से डेटा प्रदर्शित करता है (बेशक डेटा की संख्या (इसलिए पंक्तियों की संख्या) बदल सकती है)। डेटाबेस कनेक्शन फॉर्म लोड इवेंट में है। मैं बस यह नहीं समझ सकता कि पूरे डेटाग्रिडव्यू की ऊंचाई स्वचालित रूप से प्रदर्शित होती है, जो कि प्रदर्शित होने वाली पंक्तियों की संख्या के आधार पर होती है।विनफॉर्म: डेटाग्रिडव्यू: पंक्तियों की संख्या के आधार पर ऊंचाई (ऑटोोज़ाइज)
उत्तर
यदि आप DataGridView.AutoSize == सत्य सेट करते हैं तो जब आप अधिक पंक्तियां जोड़ते हैं तो ग्रिड अधिक हो जाता है। अन्यथा आपको स्क्रॉलबार मिलते हैं। जब तक आप स्क्रॉलबार == नल || सेट नहीं करते हैं क्षैतिज, जिस स्थिति में पंक्तियां अंत के गायब हो जाती हैं।
किसी कारण से, DataGridView.AutoSize केवल प्रोग्रामेटिक रूप से सेट किया जा सकता है। और जब आप ग्रिड को एक ऑटोोज़ेज़ेबल नियंत्रण में डालते हैं तो कुछ अजीब व्यवहार देखे जा सकते हैं। ऐसा लगता है कि ग्रिड के आकार का जवाब नहीं है।
मैंने स्तंभ, पंक्ति, शीर्षलेख, मार्जिन, पैडिंग और सीमा आकार से ग्रिड के अपेक्षित आकार की गणना करना समाप्त कर दिया, और उसके बाद ग्रिड युक्त नियंत्रण का आकार बदलकर चार तरफ ग्रिड लगाया। वास्तव में बेकार महसूस किया लेकिन यह सबसे अच्छा है जिसके साथ मैं आ सकता था। यदि आप अभी भी आसपास हैं, तो टिप्पणी करें और मैं देखूंगा कि मुझे कोड मिल सकता है, मेरे पास यह हाथ नहीं है।
एमएसडीएन का कहना है, "यह संपत्ति इस वर्ग के लिए प्रासंगिक नहीं है।"
यह है कि मैं क्या खोज करने में कामयाब है, और यह अब तक ठीक चलाता है: यह करने के लिए
int GetDataGridViewHeight(DataGridView dataGridView)
{
var sum = (dataGridView.ColumnHeadersVisible ? dataGridView.ColumnHeadersHeight : 0) +
dataGridView.Rows.OfType<DataGridViewRow>().Where(r => r.Visible).Sum(r => r.Height);
return sum;
}
धन्यवाद, मैं समझाया एक UserControl में मेरी DataGridView तो मैं AutoSize सही ढंग से लागू कर सकते हैं:
// This is in a user control where the datagrid is inside (Top docked)
protected override void OnResize(EventArgs e)
{
if (AutoSize)
{
var height = this.GetDataGridViewHeight(this.dataBoxGridView);
this.dataBoxGridView.Height = height;
this.Height = height +this.Padding.Top + this.Padding.Bottom;
}
}
मैंने इसे लागू करने के लिए सीधे डेटाग्रिड व्यू से कस्टम नियंत्रण बनाने की कोशिश नहीं की (अभी तक) कोशिश नहीं की।
इस तरह मैंने किया। DataGridView की ऊंचाई सेट करने के लिए आप इसकी सेट ऊंचाई संपत्ति का उपयोग कर सकते हैं। फ़ॉर्म लोड पर आप डेटाग्रिडव्यू को छिपाने के लिए इस कोड का उपयोग कर सकते हैं। डेटा GridViewName.Height = 0;
फिर डाटाबेस से पंक्तियां लाने के दौरान। हम पंक्तियों की संख्या के अनुसार डेटाग्रिडव्यू ऊंचाई प्राप्त करने के लिए नीचे विधि का उपयोग कर सकते हैं।
private int dataGridViewHeight()
{
int sum = this.dataGridViewName.ColumnHeadersHeight;
foreach (DataGridViewRow row in this.dataGridViewName.Rows)
sum += row.Height + 1; // I dont think the height property includes the cell border size, so + 1
return sum;
}
- 1. पंक्तियों की संख्या के आधार पर मैं wpf डेटाग्रिडव्यू की ऊंचाई को कैसे सीमित कर सकता हूं?
- 2. पंक्तियों की संख्या के आधार पर jqGrid का आकार बदलें?
- 3. विनफॉर्म: डेटाग्रिडव्यू
- 4. विनफॉर्म: परिवर्तनीय आइटम ऊंचाई
- 5. डेटाग्रिडव्यू की पंक्ति
- 6. डेटाग्रिडव्यू में पंक्तियों का चयन अक्षम करें
- 7. SQL अन्य पंक्तियों के आधार पर पंक्तियों को हटाएं
- 8. पंक्तियों में शामिल होने पर सामग्री के आधार पर HTML तालिका सेल ऊंचाई को स्वचालित करें
- 9. एक div की ऊंचाई को किसी अन्य div की ऊंचाई के आधार पर कैसे बनाया जाए?
- 10. NSInternalInconsistencyException (पंक्तियों की अमान्य संख्या)
- 11. मैं स्क्रीन ऊंचाई के आधार पर ग्रिड व्यू सेल की ऊंचाई कैसे सेट कर सकता हूं?
- 12. केवल डेटाग्रिडव्यू
- 13. एक चरणीय ऊंचाई UITableView के भीतर, सामग्री के आधार पर UIWebView ऊंचाई कैसे निर्धारित करें?
- 14. विशिष्ट कारक संयोजनों के आधार पर पंक्तियों को सारांशित करना
- 15. MYSQL - प्रत्येक तालिका में पंक्तियों की संख्या
- 16. प्रभावित पंक्तियों की संख्या Zend डीबी (अपडेट)
- 17. एसक्यूएल डिलीट - पंक्तियों की अधिकतम संख्या
- 18. विनफॉर्म एप्लिकेशन
- 19. गारंटी जब संख्या पंक्तियों
- 20. mysql प्रति घंटे पंक्तियों की संख्या
- 21. एक्सेल फ़ाइल में पंक्तियों की Matlab संख्या
- 22. एसक्यूएल सर्वर: पंक्तियों की अनुमानित संख्या
- 23. DevExpress WPF ग्रिड - पंक्तियों की संख्या
- 24. ऊंचाई के आधार पर एलिमेंट चौड़ाई सेट करना सीएसएस
- 25. सामग्री के आधार पर गतिशील UITableView सेल ऊंचाई
- 26. JQuery: किसी अन्य तत्व के आधार पर ऊंचाई बदलना
- 27. एसक्यूएल: * अलग * पंक्तियों के मूल्यों के आधार पर पंक्तियों का चयन करने के लिए "नहीं" विकल्प?
- 28. सीएसवी फाइलों की एक श्रृंखला की पंक्तियों की संख्या
- 29. 2 स्तंभ पर 1 स्तंभ की पंक्तियों आम डेटा के आधार पर पुन: प्राप्त
- 30. सी # डेटाग्रिडव्यू पूर्ण RowSelect
यह मेरे लिए काम करता था, लेकिन मुझे + चिह्न के सामने शीर्ष अभिव्यक्ति के चारों ओर कोष्ठक रखना पड़ा। मेरा मानना है कि यह "ऑपरेशन का आदेश" मुद्दा है? /: ऑपरेटर के साथ। –
अच्छा बिंदु। मैंने इस मुश्किल ऑपरेटर प्राथमिकता के बारे में किसी भी संदेह को असंतुष्ट करने के लिए ब्रांड्स को जोड़ा। – Larry