你那代码不太规范。
If e.DataCol.Name = "第一列" AndAlso e.DataRow.IsNull("第一列") = False Then e.DataRow("第二列") = e.DataRow("第一列").MonthEnd If
第一列必须是日期类型,而第二列必须是整数类型,估计你把第二列的数据类型弄错了。