话不多说,直接上错误的部分。
一、新增行使用AddRow()方法,而初始化又给DataSource赋值。
这样会造成很多方法在处理Row里面的值 要进行判断,非常麻烦,还容易造成报错。所以新增行建议使用DataTable赋值,可以取原来的DataSource(初始化使用了空的DataTable赋值),后面再DataTable加入新的row,反过来赋值给DataSource。这样所以值都是一致,不需要判断还有转来转去的。
二、善用单元格的验证和单元格的值改变事件
如果是文本框输入,在单元格值输入需要控制输入格式,请在单元格的值改变事件事件里处理,当单元格失焦时会出发单元格的验证,这时候可以对内容整体验证。