在我的网格视图中双击OnCell

本文关键字:双击 OnCell 视图 我的 网格 | 更新日期: 2023-09-27 18:20:47

我需要双击网格视图中的单元格,每当我单击它时,它都会打开一个新窗口来编辑值。然而,在我的代码中,即使我有一个值,它也会返回null。我认为我的gridview的事件处理程序不正确。下面是消息"对象引用未设置为对象实例"

这是我的密码。。

施工单位:

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");
}

帮我弄清楚。

在我的网格视图中双击OnCell

您有这个异常,因为您的发件人不是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");
}