2015-12-24 39 views
0

enter image description here 1.如何計算價格單元格。 2.他們沒有選擇記錄。 3.最後顯示價格單元格的總和。如何獲取未在WPF中選擇的DataGrid的單元格內容?

private void dataGrid1_LoadingRow(object sender, DataGridRowEventArgs e) 
    { 
     try 
     { 
      string s = dataGrid1.Columns[2].GetCellContent(e.Row).ToString(); 
      //give me a Null Reference Error 

     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.Message); 
     } 

    } 
+1

請閱讀有關數據綁定WPF。不要嘗試在WinForms風格中使用WPF控件。最終這會導致你遇到問題。 – Dennis

+0

@Khalid Plz檢查我的答案,如果這沒有解決你的問題,那麼你也可以訪問單元格。我會相應更新。 – AnjumSKhan

+0

我將控制數據網格更改爲列表視圖這比數據網格容易很多,我的問題得到解決。比你的幫助朋友。 – Khalid

回答

0

試試這個:

int sum = 0; 
for (int i = 0; i < dataGridView1.Rows.Count; ++i) 
{ 
    sum += Convert.ToInt32(dataGridView1.Rows[i].Cells[1].Value); 
} 
+0

我正在WPF控件不窗口窗體這不工作在WPF C#中。謝謝 – Khalid

+0

該代碼是爲WPF不Win窗體。你在使用MVVM嗎? –

0

LoadingRow事件給你目前的DataGridRow,所以你需要訪問相應的項目到DataGridRow

因此,更改此

string s = dataGrid1.Columns[2].GetCellContent(e.Row).ToString(); 

類似的東西:

MyItem item = Dgrd.ItemContainerGenerator.ItemFromContainer(e.Row) as MyItem; 
    if (item != null) 
    { 
     System.Diagnostics.Debug.WriteLine(item.Name); 
    } 

,或者

MyItem i = e.Row.DataContext as MyItem;   
    if (item != null) 
    { 
     System.Diagnostics.Debug.WriteLine(item.Sku); 
    } 
相關問題