どう

2017-03-12 5 views
0

私はスタッフのクラスを持っているとき、私はページ内 Staff.csどう

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; } 

} 

DataGridの列に[] TBをバインドしたい、私のWPF dynamiclly [] DataGridTextColumnに配列をバインドしますコードは以下の通りである:

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); 
    } 
} 

は「の()」文は[しかし、TB新しいDataGridTextColumnを作成するdynamicllyすることはありませんが、 最終的な、ヘッダのみを持つ列を作成し、表示するデータ私は、データがありますが、画像のように表示することはできません:enter image description here

私は

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

にコードを変更したときに、それはここでenter image description here

+0

さんあなたは最終的にやろうとしていますか? – AnjumSKhan

答えて

1

は何が必要であることをshowns ...

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

またTBの定義...

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

しかし、動作しません。 –

+0

私はコモンにあなたのスクリーンショットを表示する方法を知らない –

+0

列のヘッダーは1-Nになっていますが、データはDataGridTextColumnにバインドされていません。データが表示されていません –