1.列表中如何添加合计行 OLV(ObjectListView)相关讨论 https://sourceforge.net/p/objectlistview/discussion/825500/thread/e413cafd/ 这里提到wxGrid、wxWindows,可以研究下 https://sourceforge.net/p/objectlistview/discussion/812923/thread/f89adc7c/?limit=25#e197 https://sourceforge.net/p/objectlistview/discussion/812922/thread/7f2bc2f4/ 这里提供了示例,使用AboutToCreateGroups事件计算小计 DataGridView相关讨论 http://stackoverflow.com/questions/5591252/totals-row-in-a-datagridview 1.在CellPainting事件计算小计并调整TextBox位置 2.文中引用很好地解决了这个问题(http://www.codeproject.com/Articles/51889/Summary-DataGridView) OLV应该可以很好的参考这个方法 这里控件可以很好的解决了汇总的问题,但引入了新的问题: 1.修改列宽或位置会跳转到每一列 2.用键盘跳转时,汇总列不会跟随 上面两个问题都可以通过处理DGV的Scroll事件,过滤掉因列头操作引起的事件。详细可看LJDataGridView中的代码 2.DataGridView在拖拽列时需要点一下获取焦点再拖才可以,拖的过程中不能使用左/右键进行滚动 查看源代码发现DataGridView的dataGridViewState1[DATAGRIDVIEWSTATE1_scrolledSinceMouseDown]在操作滚动条后为true导致不能跳转到拖放列模式 关键代码看DataGridView.OnCellMouseMove