我需要创建一个“超级网格”作为应用程序的一部分,它将包含多个冻结和滚动窗格.网格还要求必须支持以下功能:
>显示具有“合理”滚动性能的100行的数据网格
>按特定字段分组,折叠/展开分组
>显示字段内的任何控件,例如图像,文本,组合框,按钮
>允许按钮和编辑字段以及只读模式
>允许多个垂直拆分窗格(或解决方法,多个同步网格)
>用户列使用持久性重新排序
>用户列排序升序/降序
>动态插入/删除列(选择列)
>分组下方的第4维 – 所选行上的RowDetails模板
>允许在值更新时闪烁/动画单元格/行模板
我的初步可行性表明WPF Datagrid能够满足上述几乎所有要求(具有大量模板),但是可能无法覆盖多个垂直分割窗格.下面是我想要实现的图表:
我想询问是否有人之前已经这样做过,如果有的话,你使用了什么网格技术.
>以上可以在WPF Datagrid中完成吗?我知道冻结列,但这似乎只适用于冻结前N列
>可以通过多个网格实现上述并同步垂直滚动位置吗?
>如果是这样,这个解决方案仍然可以虚拟化吗?
>您是否可以推荐任何第三方网格来实现此目的?请注意,我们将根据内部品牌对网格进行大量设计,因此必须具有灵活性和可混合性
任何意见/建议表示赞赏.
更新 – 可行性调查结果
>我有一个使用3x网格的工作原型,它们之间有collapsable grid splitters.
>使用this question的答案同步滚动查看器.
>通过绑定到具有TwoWay绑定的公共SelectedIndex属性,在三个网格上同步所选行.
接下来我将致力于分组和rowdetails模板…感谢回答你的观点! 🙂
最佳答案 我用
devexpress wpf grid control实现了你的大部分要求和更多.它不是免费的,而且有一点学习曲线(他们的
documentation是必不可少的),但从长远来看它会节省你这么多时间……