我如何(/是否可能)向我的 DataView 添加自定义列,并在此列中显示特定计算的结果。
也就是说,我目前有一个 dataGridView,它基于我数据库中的 DataTable 绑定到一个 DataView。我想在 dataGridView 中添加一个附加列以显示一个数字,该数字是通过查看当前行加上它的子行计算得出的。换句话说,列的信息不仅仅是从行数据本身推导出来的。
具体问题可能是:a)在哪里添加列本身?到我假设的 DataView?b)从哪个方法/事件触发重新计算此自定义列的值(/我如何控制它)
谢谢
PS。我还注意到,如果我使用以下代码/方法,我会得到一个无限循环......
// Custom Items
DataColumn dc = new DataColumn("OverallSize", typeof(long));
DT_Webfiles.Columns.Add(dc);
DT_Webfiles.RowChanged += new DataRowChangeEventHandler(DT_Row_Changed);
private static void DT_Row_Changed(object sender, DataRowChangeEventArgs e)
{
e.Row["OverallSize"] = e.Row["OverallSize"] ?? 0;
e.Row["OverallSize"] = (long)e.Row["OverallSize"] + 1;
}
还有什么其他方法可以避免这种循环。即目前我说的是在行更改时更新自定义列的值,但是在更改行之后它会触发另一个“行已更改”事件...