访问DataGrid Cell值

时间:2013-09-19 05:02:37

标签: wpf vb.net datagrid

我在DataGrid中有一个A,B,C(简化)列。该DataGrid绑定到DataTable,而C列值是A和B的差值,即(A-B)。 A列和B列是可编辑的。现在我的要求是当用户更改A或B的值时,应该相应地更新列C的值。为此,我写了 CellEditEnding 事件。在这种情况下,我能够得到行但不是用户刚刚修改过的值。如果我从DataTable获得了corrorponding值,我得到了Old值,即用户修改之前的值。

1 个答案:

答案 0 :(得分:1)

尝试在CellEndEditing事件中使用以下代码

((TextBox)e.EditingElement).Text

或者

ContentPresenter contentPresenter = e.EditingElement as ContentPresenter;
        DataTemplate editingTemplate = contentPresenter.ContentTemplate;
        TextBox txtMyTextBox = editingTemplate.FindName("textbox1", contentPresenter) as TextBox;
        string newValue = txtMyTextBox.Text;