2012-06-26 48 views
0

怎樣才能獲得數據網格控件內部按鈕點擊事件的列值,
在Grid中有五列,第五列是按鈕控件和第一列是一些ID值,
我使用如何獲取WPF中數據網格內點擊按鈕的數據列值

Int32 paperID = Convert.ToInt32(((System.Data.DataRowView)(DataGrid_MarksSummary.SelectedItem)).Row.ItemArray[0].ToString()); 

這裏paperID總是來了0,
如何在點擊按鈕獲取值這個ID。

回答

0

假設你有你的按鈕的單擊事件處理程序代碼,您可以遍歷可視樹在此處理程序,並找到潛在的行和數據,你實際上需要:

private void ColumnButtonClick(object sender, RoutedEventArgs e) 
    { 
     Visual visual = (Visual)sender; 
     while ((visual = VisualTreeHelper.GetParent(visual) as Visual) != null) 
     { 
      if (!(visual is DataGridRow)) continue; 

      var row = (DataGridRow)visual; 
      object item = row.Item; //your bound object 
      break; 
     } 
    } 
在這種情況下

「項目'變量保存DataGridRow中的實際數據綁定對象。您可以將其轉換爲實際用作數據網格源的對象類型,然後從中獲取您想要的PaperID。

相關問題