2012-03-21 17 views
5

मेरे पास डेटाग्रिड व्यू है जिसे मैं सी # विनफॉर्म प्रोजेक्ट में उपयोग करता हूं। ग्रिड स्तंभों को स्वत: उत्पन्न नहीं करता है। मैंने मैन्युअल रूप से कॉलम नाम और गुण सेट कर दिए हैं।डेटाग्रिड व्यू सेल संरेखण काम नहीं करेगा

इसमें कोशिकाओं के लिए DefaultCellStyle शामिल है। मैं सभी कक्षों को चाहता हूं जो डेटाग्रिड व्यू चेकबॉक्स कॉलम प्रकार केंद्रित हैं। मैंने डिजाइनर में इस प्रकार के प्रत्येक कॉलम के लिए मैन्युअल रूप से इस संरेखण को सेट किया है। डेटाग्रिडव्यू लोड होने पर ये परिवर्तन दिखाई नहीं देते हैं।

मेरी अगली दृष्टिकोण के रूप में, मैं DataBindingComplete स्थिति में नीचे दिए गए कोड (जो भी कोई प्रभाव नहीं पड़ा)

foreach (DataGridViewColumn dgvc in this.dgv_Automations.Columns) 
{ 
    if(dgvc.CellType == typeof(DataGridViewCheckBoxCell)) 
     dgvc.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; 
} 

इस्तेमाल किया जब डीबगिंग, ऊपर कोड पहले से ही संरेखण केंद्र की स्थापना की थी। हालांकि, यह अभी भी ग्रिड पर दिखाई नहीं देता है।

मैं सकते यह अगर DataBindingComplete घटना के दौरान काम कर रहे हो मैं कुछ इस तरह करते हैं:

foreach (DataGridViewRow dgvr in this.dgv_Automations.Rows) 
{ 
    dgvr.Cells["isErrors"].Style.Alignment = DataGridViewContentAlignment.MiddleCenter; 
} 

हालांकि, मैं इन स्तंभों के कई है और यह वास्तव में यह इस तरह से करने के लिए कोई मतलब नहीं है । संपादित करें: मैंने इसे इस तरह कार्यान्वित किया है और केवल 10 पंक्तियों के साथ प्रत्येक सेल पर इस संपत्ति को स्थापित करने से बहुत ही ध्यान देने योग्य अंतराल है।

मेरा प्रश्न है: ऐसा करने का सही तरीका क्या है? डिजाइनर DefaultCellStyle क्यों काम नहीं करता है?

+0

कृपया अपने शीर्षक को "सी #" और इस तरह से उपसर्ग न करें। टैग के लिए यही है। –

+0

नोट किया गया। भविष्य में नहीं होगा। – ImGreg

उत्तर

7

MSDN एक DataGridViewColumn की DefaultCellStyle के अनुसार शैलियों DataGridView.RowsDefaultCellStyle, DataGridView.AlternatingRowsDefaultCellStyle, DataGridViewRow.DefaultCellStyle, और DataGridViewCell.Style गुण के माध्यम से निर्दिष्ट द्वारा ओवरराइड है।
तो यह संभव हो गया है कि इन शैलियों में से एक DefaultCellStyling के लिए एक मूल्य के अपने आवश्यक संरेखण के साथ असंगत (उदाहरण के DataGridViewContentAlignment.NotSet या DataGridViewContentAlignment.TopLeft के लिए)

0

एक और भी अधिक उपयोगी लिंक और कैसे काम करता है विरासत की तैयारी में हैं।

http://msdn.microsoft.com/en-us/library/1yef90x0.aspx

पता चला मैं एक DefaultRowStyle कि DefaultCellStyle अधिभावी था निर्धारित किया था। सुनिश्चित करें कि आप सभी शैलियों की जांच करें !!