2015-12-24 36 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); 
    } 
相关问题