安心海叶 发表于 2015-8-26 17:49:00

C1DataGrid问题

现在对一个DataGrid绑定了数据源数据,但需要设置其中一列的Header为TextBlock+CheckBox组合的形式,当CheckBox的状态为Checked时,显示列数据,当CheckBox的状态为UnChecked时,不显示数据。不知道怎么实现这个功能?求助~

KNight 发表于 2015-8-26 20:33:00

回复 1楼安心海叶的帖子

已通过DataGrid制作样例一枚,查收......

Alice 发表于 2015-8-27 09:37:00

回复 1楼安心海叶的帖子

谢谢你的反馈。
你可以参考2楼的解决方案。
如果有什么问题,欢迎提出。

安心海叶 发表于 2015-8-27 11:03:00

您好!我查看了您给的示例代码,您没用C1DataGrid控件,如果换为C1DataGrid控件,CheckBox将不再响应。这是我的demo,现在需要更改DataGrid的Header,对于Test1Actual我需要自定义为TextBlock+CheckBox的形式,当点击CheckBox时,显示列数据,当Uncheck时,不显示数据。不知道在我已有的代码的基础上,怎么实现这个功能?求助!


Alice 发表于 2015-8-27 12:29:00

回复 4楼安心海叶的帖子

谢谢你提供的Demo。
按照我的理解,你需要的是一个CheckBox而且展示文字的列。目前WPF平台没有这样的控件存在。
最简单的方法就是checkbox和text分别放在不同的列上控件。
如果你需要将两项放置同一列,就需要自己写代码实现。
基本思路就是:从DataGridCheckBoxColumn继承,写自己的CheckAndTextColumn,来实现check和text同时显示。

KNight 发表于 2015-8-27 14:17:00

回复 4楼安心海叶的帖子

效果是我第一个Demo那样的吗?

C1DataGrid的CheckBox点击后,设置列的Binding属性,没有效果,原因是因为C1的DataGridColumn里当Binding属性改变时,并没有通知该属性改变然后更新界面;而原来的DataGrid在改变列的绑定时会触发通知事件的;

所以在C1DataGrid里,当改变列的绑定数据源时,需要手动更新,调用C1DataGrid的Refresh方法即可;参考Demo如下:

安心海叶 发表于 2015-8-27 15:08:00

回复 5楼Alice的帖子

我想问一下,如果我认定DataGrid的第0行放置CheckBox,即把CheckBox放在DataGrid的第三列第一行,然后显示绑定的数据源信息,可以吗?我调试后报错,不知道怎么做

安心海叶 发表于 2015-8-27 15:57:00

回复 6楼KNight的帖子

非常感谢,~:hjyzw:~膜拜~

Alice 发表于 2015-8-27 16:41:00

回复 8楼安心海叶的帖子

我测试了6楼的demo,已经基本实现你的需求。
你看下,如果有什么问题欢迎提出来讨论。

安心海叶 发表于 2015-8-28 09:26:00

回复 6楼KNight的帖子

还想请问一下,如果在现有代码的基础上,当有新的列数据时,动态添加Column,Header也是TextBlock+Checkbox的形式;当没有新列数据添加时,就不动态添加数据,怎么通过代码实现这个功能?再次求助了~
页: [1] 2
查看完整版本: C1DataGrid问题