在高校排课模块中有这样一个需求:一条教学班记录有多列信息,满屏显示也无法显示完所有列,在DataGrid中出现水平滚动条
其中教学班代码、课程名称、星期一到星期五这七列的信息需要同时在窗口中全部显示,如下图所示
而从课程代码到授课教师22列是参考信息,不必全部列同时显示在窗口中,如下面的三幅图片所示
在这不必全部列同时显示的22列中,如需要参考某列信息可使用调整列显示顺序功能拖动靠左的位置
为了解决拖动水平滚动条查看不必同时显示的22列教学班信息时
需要同时在窗口中全部显示的教学班代码、课程名称、星期一到星期五这七列信息不被隐藏这个问题
笔者使用了两个DataGrid,同时全部显示的七列放在左边的DataGrid中,不必同时显示的22列放在右边的DataGrid中(如上图所示)
但将列信息放在两个DataGrid中就出现需要解决一个问题,当拖动左边或右边DataGrid的垂直滚动条时,两个DataGrid必须同步在垂直方向滚动
解决方法:两个DataGrid对象保存另一个DataGrid对象的引用,并在DataGrid的滚动事件中设置垂直滚动条的位置为相同值
实现方法和代码
未完待续......