2009-05-27 12 views
8

मैं टूलकिट का उपयोग कर रहा हूं: कोडप्लेक्स से डेटाग्रिड।कोड में DataGridTextColumn का बाध्यकारी कैसे सेट कर सकता हूं?

मैं कोड में कॉलम उत्पन्न कर रहा हूं।

मैं कोड में {बाध्यकारी फर्स्टनाम} के बराबर कैसे सेट कर सकता हूं?

या वैकल्पिक रूप से, मैं कैसे मूल्य सेट कर सकता हूं, मुझे बस इतना करना है कि इसे बाध्य न करें। मैं सिर्फ डाटाग्रिड में सेल में अपनी मॉडल संपत्ति से मूल्य चाहता हूं।

DataGridTextColumn dgtc = new DataGridTextColumn(); 
dgtc.Header = smartFormField.Label; 
dgtc.Binding = BindingBase.Path = "FirstName"; //PSEUDO-CODE 
dgtc.CellValue= "Jim"; //PSEUDO-CODE 
CodePlexDataGrid.Columns.Add(dgtc); 

उत्तर

18

untested है, लेकिन निम्न काम करना चाहिए:

dgtc.Binding = new Binding("FirstName"); 
2

उदाहरण:

DataGridTextColumn dataColumn = new DataGridTextColumn(); 
dataColumn.Header = "HeaderName"; 
dataColumn.Binding = new Binding("HeaderBind"); 
dataGrid.Columns.Add(dataColumn); 
5

के बारे में नए बाध्यकारी मेरे लिए सही है पहला उत्तर है, भी। ।। कि इसका जवाब उपयोग करने के लिए मुख्य समस्या यह है कि बाध्यकारी चार नामस्थान 8- के अंतर्गत आता है (था सही नाम स्थान System.Windows.Data (.NET 4, VS2010) है यह एक अधिक पूरा जवाब की ओर जाता है:

dgtc.Binding = new System.Windows.Data.Binding("FirstName"); 

एक साइड नोट:

मेरे मामले में बाध्यकारी सेट करने के संदर्भ डेटाग्रिड के कॉलम पर पुनरावृत्ति था। बाध्यकारी को बदलने से पहले बेस क्लास डेटाग्रिड कॉलम को डेटाग्रिडटेक्स्ट कॉलम में डालना आवश्यक है। फिर यह है बाइंडिंग को बदलने के लिए संभव:

int pos = 0; 
var dgtc = dataGrid.Columns[pos] as DataGridTextColumn; 
dgtc.Binding = new System.Windows.Data.Binding("FirstName"); 
संबंधित मुद्दे