c# - 列表的哪个 gridview 触发事件

标签 c# gridview

我有一个 ListGridView,我想在每个 GridView 上添加相同的 CellEndEdit 事件。

可以确定哪个 gridview 触发了 CellEndEdit 事件?

lst.Add(new RadGridView());
RadGridView radgridview= lst.Last();
radgridview.CellEndEdit += new GridViewCellEventHandler(radgridview_CellEndEdit);

private void radgridview_CellEndEdit(object sender, GridViewCellEventArgs e)
{
    //I want to know here which radgridview is modified
}

最佳答案

标准事件模式将事件源作为参数传递给 sender 参数。所以你可以简单地将 sender 转换为 RadGridView 并拥有相关的实例:

private void radgridview_CellEndEdit(object sender, GridViewCellEventArgs e)
{
    RadGridView sendingGridView = sender as RadGridView;
    if (sendingGridView == null || !lst.Contains(sendingGridView))
        return; // just to be sure
}

很明显,在这种情况下,sender 是一个 GridViewEditManager,因此您可以像这样获取 RadGridView:

private void radgridview_CellEndEdit(object sender, GridViewCellEventArgs e)
{
    GridViewEditManager manager = sender as GridViewEditManager;
    RadGridView sendingGridView = manager?.GridViewElement?.GridControl;

    if (sendingGridView == null || !lst.Contains(sendingGridView))
        return; // just to be sure
}

关于c# - 列表的哪个 gridview 触发事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37881415/

相关文章:

c# - Entity Framework 自跟踪实体和 ASP MVC .NET 和托管扩展框架的问题

c# - 如何将 Gridview 标题对齐到右边?

javascript - 即使在 Page.LoadComplete() 之后页面仍在加载

c# - 如何在gridview中获取下一行数据?

c# - 如何在 asp.net gridview 中获取 Item 值

c# - 使用c#获取本地系统ip地址

c# - 最简单的合取(交)代码

c# - Response.End () 不会中止当前线程

c# - 通过ftp C#匿名访问和文件上传

jquery - 动态改变多类型元素的大小