Datagrid分组
请问如何初始化时就将表中数据按病历号分组,并是子目录是隐藏状态?
还有怎么隐藏病历号左边这列。 回复 1楼子曰的帖子
谢谢你的反馈。
1.你想隐藏的是rowheaer部分?
可以使用HeadersVisibility属性控制Column,Row的显示,如果只显示表头,就设置属性为Column。
2.将CanUserGroup="True",就可以进行分组。
分组请参考随机安装示例:
\Documents\ComponentOne Samples\WPF\C1.WPF.DataGrid\CS\DataGridSamples\Grouping\GroupSummary 回复 2楼Alice的帖子
我想知道的是怎么通过后台代码实现分组,
设置CanUserGroup="True" 会出现一栏“拖拉一栏至此聚合”,这一栏我不太想要。 回复 3楼子曰的帖子
谢谢反馈。
你可以通过GroupBy方法对指定列分组。
详细的使用方法可以参考我在2楼给出的示例。 回复 4楼Alice的帖子
怎么实现如图中的group中的描述(财务部 4items)或者说能把这行隐藏掉,只有一个扩展按钮?
扩展的按钮太小,可否让其点击这行就能扩展? 回复 5楼子曰的帖子
1.很抱歉不能。
2.DataGrid.Rows下有Expand/ExpandAll/CollapseAll/Collapse方法可以直接控制展开和缩放,你可以调用方法实现。 回复 6楼Alice的帖子
C1DataGrid.Rows.Expand(Predicate<DataGridGroupRow> predicate)中应该怎样传参数?
我只想要这行空着,什么都不显示可以吗? 回复 7楼子曰的帖子
谢谢反馈。
你说的是将GroupContent的内容设置为空么?你可以自定义GroupHeader。
代码参考:
grid.LoadedRowPresenter += (s, e) =>
{
if (e.Row.Type == DataGridRowType.Group)
{
var gp = (e.Row.Presenter as DataGridGroupRowPresenter);
//var sp = new StackPanel() { Orientation = Orientation.Horizontal };
//sp.Children.Add(new TextBlock() { Text = "Some custom content" });
gp.GroupContent = null;
//gp.GroupContent = sp; //set custom content
}
};
Expand方法的参考文档:
http://helpcentral.componentone.com/nethelp/C1datagridWPF/#C1.WPF.DataGrid.4~C1.WPF.DataGrid.DataGridRowCollection~Expand.html
Predicate的使用方法请参考msdn:
http://www.baidu.com/link?url=Y8DYrrQwJoYTbnPETrfMIIdwVnvgV6fpC8JzooQSc2jXJaEC_z_DPl7szkFDeXXMkuOlDLwtI1yqDr9_MrDHK_&wd=&eqid=a83b681d000034310000000555ee530a
页:
[1]