2012-11-22 30 views
5
private void ViewWinLoaded(object sender, RoutedEventArgs e) 
    { 
     var stud = from s in data.Students 
          select s; 
     Student[] st=stud.ToArray<Student>(); 
     datagrid.ItemsSource = st; 

    } 

उपरोक्त में मेरा सी # कोड है, तो मैं wpf डेटाग्रिड कॉलम नाम रिडंडेंसी को कैसे सही कर सकता हूं।मैं विजुअल स्टूडियो 2012

<DataGrid x:Name="datagrid" HorizontalAlignment="Left" Height="232" VerticalAlignment="Top" Width="461"> 
     <DataGrid.Columns> 
      <DataGridTextColumn Binding="{Binding Path=StudentID}" ClipboardContentBinding="{x:Null}" Header="StudentID"/> 
      <DataGridTextColumn Binding="{Binding Path=FirstName}" ClipboardContentBinding="{x:Null}" Header="First Name"/> 
      <DataGridTextColumn Binding="{Binding Path=LastName}" ClipboardContentBinding="{x:Null}" Header="Last Name"/> 
      <DataGridTextColumn Binding="{Binding Path=Gender}" ClipboardContentBinding="{x:Null}" Header="Gender"/> 
      <DataGridTextColumn Binding="{Binding Path=GPA}" ClipboardContentBinding="{x:Null}" Header="GPA"/> 
     </DataGrid.Columns> 
    </DataGrid> 

जो मैं प्राप्त करने की कोशिश कर रहा हूं वह है कि मैं अपने कॉलम नाम का उपयोग करें, न कि डीबी में कॉलम नाम। लेकिन जब मैं कोड चलाता हूं, तो यह मेरे कस्टम कॉलम और कॉलम नाम को उसी समय डीबी से प्रदर्शित करता है (कैस्केड नाम)

+0

क्यों 'stud.ToArray ();' आइटमसोर्स IENumerable है। –

उत्तर

2

डेटाग्रिड को AutGenerateColumns प्रॉपर्टी को गलत पर सेट करके कॉलम उत्पन्न करने से रोकें।

<DataGrid x:Name="datagrid" AutoGenerateColumns="False" 
HorizontalAlignment="Left" Height="232" VerticalAlignment="Top" Width="461"> 
+0

धन्यवाद यह ठीक काम करता है! –

0

एक और तरीका यह परिणाम प्राप्त करने के लिए, आप अपने छात्र वर्ग विशेषता DisplayName के हर सार्वजनिक संपत्ति के लिए सेट कर सकते हैं।

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