2009-07-06 18 views
13

में डेटा ग्रिड व्यू कॉलम हैडर दाएं संरेखित करें मेरे पास डेटाग्रिड व्यू विनफॉर्म नियंत्रण में कॉलम नाम "उद्धरण मूल्य" है। मैं "कॉलम" नामक कॉलम नाम के साथ कॉलम हेडर को दायाँ संरेखित नहीं कर सकता, जैसे कि "यूनिट" के रूप में कोई रिक्त स्थान वाले कॉलम को सही संरेखित कर सकता हूं। मैंने सफलता के साथ टॉपराइट, मिडिल राइट और डाउन राइट का उपयोग करने का प्रयास किया है।Winforms

SelectedAdditionalCost.Columns["Quote Price"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight; // Doesn't want to right align 
SelectedAdditionalCost.Columns["Quote Price"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; // column contents No worries, right aligns. 

मुझे यकीन है कि मैं वास्तव में कुछ मूर्खतापूर्ण कर रहा हूं, हालांकि, मैं यह काम नहीं कर सकता।

उत्तर

22

जैसा कि मैं नीचे लिख रहा था, मुझे कुछ ऐसा महसूस हुआ जो समस्या हो सकती है - DataGridView कॉलम का नाम एक स्थान नहीं हो सकता है - आप हेडर टेक्स्ट द्वारा कॉलम संग्रह का संदर्भ दे रहे हैं, कॉलम नाम नहीं। हालांकि, जब मैं आपके उदाहरण में कोड की कोशिश करता हूं और चलाता हूं तो मैंने रनटाइम त्रुटि (शून्य संदर्भ अपवाद) मारा।

वैसे भी, कि एक तरफ:

कोड तुम मेरे लिए पूरी तरह से काम करता है है, मैं अपने DataGridView परीक्षण परियोजनाओं में से एक में निम्नलिखित (निर्माता में) लागू किया और शीर्ष पाठ सही संरेखित करता है:

dataGridView.Columns[1].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight; 
dataGridView.Columns[2].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight; 

क्योंकि आपने हेडर टेक्स्ट पर स्थान का उल्लेख किया है, कॉलम 2 में इसके टेक्स्ट में एक स्थान शामिल है।

एक बात जो मैंने देखी है वह यह है कि हेडर टेक्स्ट सही संरेखित नहीं हो सकता है जब सॉर्ट ग्लाइफ इसे सेल मार्जिन पर पूरी तरह से संरेखित करने से रोक रहा है।

देखें अगर यह किसी भी फर्क नहीं पड़ता:

dataGridView.Columns[1].SortMode = DataGridViewColumnSortMode.NotSortable; 
0

आप बल्कि यह एक के बाद एक कर की तुलना में सभी कॉलम हैडर ऐसा संरेखित कर सकते हैं,

//MiddleRight Alignment for DataGridView Column Headers 
DataGridViewCellStyle colHeaderStyle = new DataGridViewCellStyle(); 
colHeaderStyle.Alignment= DataGridViewContentAlignment.MiddleRight; 
..... some other styles (like color, font etc) ......... 
dataGridView_custom.ColumnHeadersDefaultCellStyle = colHeaderStyle; 

संदर्भ एक VB answer से लिया .. ठीक के रूप में परीक्षण किया।