我需要双击gridview中的单元格,每当我点击它时,它应该打开一个新窗口来编辑值。但是,在我的代码中,即使我有一个值,它也会返回null。我认为我的gridview的事件处理程序是不正确的。 Heres是消息"对象引用未设置为对象的实例。"
这是我的代码..
构造函数:
grdProducts.AddHandler(GridViewCellBase.CellDoubleClickEvent,
new EventHandler<RadRoutedEventArgs>(OnCellDoubleClick),
true);
点击活动:
private void OnCellDoubleClick(object sender, RadRoutedEventArgs e)
{
Product product = (sender as Telerik.Windows.Controls.GridViewColumn).DataContext as Product;
ShowProductWindow(product);
//MessageBox.Show("test");
}
帮我解决一下。
答案 0 :(得分:1)
您有该异常,因为您的发件人不属于Telerik.Windows.Controls.GridViewColumn
类型。可能你的发件人是GridViewCell。尝试这样的事情:
private void OnCellDoubleClick(object sender, RadRoutedEventArgs e)
{
var cell = e.Source as GridViewCell;
if (cell == null) return;
var row = cell.ParentRow as GridViewRow;
if (row == null) return;
Product product = row.DataContext as Product;
ShowProductWindow(product);
//MessageBox.Show("test");
}