WPF平台C1FlexGrid列表单元格合并问题
WPF平台,常规的C1FlexGrid列表单元格合并没有啥问题,采用随机示例里面的方式很简单就可以实现了。但是,如果C1FlexGrid显示的内容含有父子级关系,再采用如下方式,合并“Name”列却没有了效果(已经设置了控件的 AllowMerging="All" ):
_flexGrid.AllowMerging = AllowMerging.Cells;
_flexGrid.Columns["Name"].AllowMerging = true;随机实例中含有父子级关系也有合并成功的例子,请问这个是如何做到的?
很抱歉回复晚了。
示例路径:
\Documents\ComponentOne Samples\WPF\C1.WPF.FlexGrid\CS\FlexGridSamples\SelectionMode
它是通过如下代码实现的:
if (f != null)
{
var allowMerging = ((CheckBox)sender).IsChecked.Value;
f.AllowMerging = allowMerging
? AllowMerging.Cells
: AllowMerging.None;
f.Columns["Country"].AllowMerging = allowMerging;
f.Columns["First"].AllowMerging = allowMerging;
f.Columns["Last"].AllowMerging = allowMerging;
}
这是默认的合并行为。
如果有自己的合并逻辑,就需要自定义类继承IMergeManager 接口,然后实现自己的合并逻辑。 本帖最后由 CanYou8 于 2016-3-31 16:57 编辑
示例中的代码我也看到了,按照这种方式做了尝试,然而并没有什么用,我的父子级关系列表还是合并不了。
自定义类继承IMergeManager 接口,实现自己的合并逻辑,能否提供点示例代码?比如合并某一列的内容 CanYou8 发表于 2016-3-31 16:55
示例中的代码我也看到了,按照这种方式做了尝试,然而并没有什么用,我的父子级关系列表还是合并不了。
自 ...
----示例中的代码我也看到了,按照这种方式做了尝试,然而并没有什么用,我的父子级关系列表还是合并不了。
无法重现您提到的问题,您可以根据随机示例检查区别,如果依然有问题,还是需要一个重现问题的Demo,我帮您看看。
--自定义类继承IMergeManager 接口,实现自己的合并逻辑,能否提供点示例代码?比如合并某一列的内容
基本思路就是从IMergeManager继承,写一个自己的类,然后你可以写一个GetMergeRange方法,返回你需要合并的区域。
随机安装示例中有个自定义合并的例子,你可以参考:
\Documents\ComponentOne Samples\WPF\C1.WPF.FlexGrid\CS\CustomMerging\CustomMerging
页:
[1]