Windows窗体-如何获取用于填充DataGridView的数据

本文关键字:用于 填充 DataGridView 数据 获取 窗体 何获取 Windows | 更新日期: 2023-09-27 18:00:13

我需要做的是在加载到dgv中之前捕获数据并更改其中一个属性。我现在有一个通用方法,我正在使用它为我的dgv:创建DataSource

dgv.DataSource = new SortableBindingList<T>(result.ResultEntities);

我想做的是获取这些数据,按照我需要的方式对其进行操作,然后返回更改后的数据以加载到dgv中。

我试图通过简单的操作来实现这一点:

SortableBindingList<MyType> someVar = (SortableBindingList<MyType>)dgvMydgv.DataSource;

嗯,这似乎不是这样做的方法。

Windows窗体-如何获取用于填充DataGridView的数据

如果将像sortableBindingList这样的局部变量绑定到数据网格视图,则在数据网格数据绑定成功后,该变量不可访问。在触发"DataBound()"-事件之后,数据源将为NULL。

仅供参考:

如果将SqlDataSource绑定到数据网格视图,则可以在绑定数据源后导出可排序绑定列表。

您必须读取每行中的每一列,并将其保存在新定义的可排序绑定列表中,然后将数据源重新绑定到网格视图:

foreach (GridViewRow gvrMyRow in gvFields.Rows)
{
     foreach (TableCell tcMyCell in gvrMyRow.Cells)
     {
         string sMyValue = tcMyCell.Text;
     }
}

请记住:

保持对原始填充列表的引用是正常的方法,您应该以这种方式实现。它的方式更容易找到条目,操作条目等等。