【问题标题】:GetDataRow returns null for valid rowHandleGetDataRow 为有效的 rowHandle 返回 null
【发布时间】:2020-02-09 12:23:34
【问题描述】:

当用户从弹出菜单中选择一个选项时,我正在尝试从网格中获取选定的行。 我有以下代码

    private void gridView1_PopupMenuShowing(object sender, 
    DevExpress.XtraGrid.Views.Grid.PopupMenuShowingEventArgs e)
    {
        if (e.MenuType != DevExpress.XtraGrid.Views.Grid.GridMenuType.Row) return;
        var item = new DXMenuItem("Delete");
        item.Click += (o, args) =>
        {
            var rowHandles = gridView1.GetSelectedRows();
            foreach (var rowHandle in rowHandles)
            {
                System.Data.DataRow row = gridView1.GetDataRow(rowHandle); 
                // debugger shows that rowHandle = 1 
                if (row == null)
                {
                    Console.WriteLine("how so?");  // breaks here
                }
            }
        };
        e.Menu.Items.Add(item);
    }

当我在调试器中运行时,我希望该行有效,但它为空。

【问题讨论】:

标签: c# event-handling devexpress-gridcontrol


【解决方案1】:

事实证明,因为我让网格从绑定源获取数据并且我正在设置绑定源

the docs explainGetDataRows 将返回 null

如果View的数据源是自定义的对象集合,GetDataRow方法返回null

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-29
    • 2016-05-21
    • 2016-06-24
    • 1970-01-01
    • 2016-10-06
    相关资源
    最近更新 更多