如何在wpf中重新加载datagrid

时间:2015-03-18 10:16:29

标签: wpf datagrid

我有一个WPF应用程序,我想从datagrid中选择项目并传递给textbox。在那之后添加按钮选中gridrow必须删除。我有一个存储过程从表中删除。并同时在同一个数据网格中重新加载表。

我试过这段代码

private void refresh()
{
    datagrid1.items.refresh();
}

private void btnAdd_Click(object Sender, RoutedEventArg e)
{
    refresh();
}

private void datagrid1_SelectionChange(object Sender, RoutedEventArg e)
{
     var selectedrow = datagrid1.selectedItem as datarowview;
     var id = selectedrow["Tagid"]; // Here I get error that object reference is not set is an instance of an object 
    string s = conver.tostring(id);
    txttextbox1.text= s;
}

点击添加按钮后,我收到错误

  

对象引用未设置为对象的实例

1 个答案:

答案 0 :(得分:0)

您正在将所选项目强制为datarowView,而不是将其强制转换为

var selectedrow = datagrid1.selectedItem as DataRowView

SelectedItem是绑定到网格而不是行

的对象类型

尝试这样做

private void datagrid1_SelectionChange(object Sender, RoutedEventArg e)
{
    var selectedItem = datagrid1.selectedItem as MY_Custom_Object;
    var id = selectedItem.Tagid; 
    string s = Convert.ToString(id);
    txttextbox1.text= s;
}