2009-02-09 11 views
6

क्या किसी को पता है कि डेटा के नीचे से कोड के भीतर से x: नाम (जैसा कि xaml में परिभाषित किया गया है) का उपयोग कर डेटाग्रिड कॉलम तक पहुंचना संभव है?क्या कॉलम इंडेक्स के बजाय नाम से सिल्वरलाइट डेटाग्रिड कॉलम तक पहुंच बनाना संभव है?

मैं जानता हूँ कि मैं निम्नलिखित कोड का उपयोग कर सकते हैं: ..लेकिन मैं कुछ इस तरह उपयोग करने के लिए यदि संभव हो तो पसंद करेंगे

myDataGridList.Columns[0].Header = "Some Data"; 

:

myDataGridList.Columns["ColumnName"].Header = "Some Data"; 

अग्रिम धन्यवाद।

उत्तर

13

आप कॉलम पर रैखिक खोज करने के लिए कुछ लिंक या फोरैच लूप के साथ ऑब्जर्जेबल कोलेक्शन बढ़ा सकते हैं।

public static class MyExtensions 
{ 
    public static DataGridColumn GetByName(this ObservableCollection<DataGridColumn> col, string name) 
    { 
     return col.SingleOrDefault(p => 
      (string)p.GetValue(FrameworkElement.NameProperty) == name 
     ); 
    } 
} 

उसके बाद, आप कॉलम संपत्ति के बजाय इस कॉल कर सकते हैं:

myGrid.Columns.GetByName("theName"); 
+0

बहुत बहुत धन्यवाद - पूरी तरह से काम करता है। – cyberbobcat

+0

अच्छा जवाब। मैं LINQ को कई स्थानों में सहायक ढूंढ रहा हूं ... –

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