2017-03-12 2 views
0

Quand j'ai une classe du personnel, je veux la liaison TB [] aux DataGrid Colonnes Staff.csComment Binding le tableau [] au DataGridTextColumn dynamiclly WPF

public class Staff 
{ 
    public string Name { get; set; } 
    public float? Test_Score { get; set; } 
    public float? Net_Income_Tax { get; set; } 
    public float temp { get; set; } 
    public float[] TB = new float[100]; 
    public float TB_Sum { get; set; } 

} 

dans la page, mon Code sont les suivantes:

public ObservableCollection<Staff> Staff_Show = new ObservableCollection<Staff>(); 
public int StaffShowSize; 

public TaxBefore_Sum(ObservableCollection<Staff> StaffAccept) 
{ 

    InitializeComponent(); 
    Staff_Show = StaffAccept; 
    StaffShowSize = Staff_Show.Count; 


    DataGrid1.ItemsSource = this.Staff_Show; 

    //this is to dynamiclly to create new DataGridTextColumn,but 
    //final ,only create the columns' header is"0",and no data to show,however,the TB[i] have data,but can't show like the picture 
    for (int i = 0; i < StaffShowSize; i++) 
    { 
     DataGridTextColumn c = new DataGridTextColumn(); 
     c.Header = Convert.ToString(i + 1); 
     c.Binding = new Binding("TB[i]"); 
     DataGrid1.Columns.Add(c); 
    } 
} 

la phrase « pour() » est de dynamiclly pour créer un nouveau DataGridTextColumn, mais finale, créez uniquement les colonnes avec en-tête, et aucune donnée pour montrer, cependant, la tuberculose [ J'ai des données, mais je ne peux pas montrer comme sur l'image: enter image description here

quand j'ai changé le code pour

c.Binding = new Binding("TB[" + i + "]"); 

il showns que enter image description here

+0

Wha t vous essayez de faire enfin? – AnjumSKhan

Répondre

1

Voici ce dont vous avez besoin ...

c.Binding = new Binding("TB[" + i + "]"); 

définition également de la tuberculose ...

public float[] TB { get; set; } = new float[100]; 
+0

Cependant, cela ne fonctionne pas. –

+0

et je ne sais pas comment vous montrer mon écran shoutcut dans le coment –

+0

l'en-tête de la colonne est devenu 1-N, mais les données ne sont pas liées à la DataGridTextColumn, aucune donnée a été montrée –