找回密码
 立即注册

QQ登录

只需一步,快速开始

CanYou2
注册会员   /  发表于:2015-12-17 22:35  /   查看:7968  /  回复:7
c1:C1DataGrid里的如何做到选中单一单元格的效果同时也需要有选中当前行的效果?

7 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2015-12-18 10:20:00
沙发
回复 1楼CanYou2的帖子

谢谢您的反馈。
目前是没有提供同时选择行和单元格的能力。
为了帮助您解决问题,想了解下进一步的需求,看看有没有解决方案可以提供给您。
如果选中单元格的时候,不会选中行,仅仅是有个行的背景色效果可以不?
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
CanYou2
注册会员   /  发表于:2015-12-18 16:50:00
板凳
我解释一下我们具体的需求,在一个内容比较多的datagrid的内容,多行多列,内容密集。我们现在还是选择单个单元格,整个行都有颜色的更改。现在我们客户要求我们加上单元格内容可以复制的功能,功能我们已经加上了,但是问题来了,很难分辨清楚究竟选择的是哪个单元格,所以昨天提了那个要求。如果有其他的办法解决这个问题也可以试试。
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-12-18 17:33:00
地板
回复 3楼CanYou2的帖子

我想知道您的SelectionMode 是行选还是Cell单元格选择?就是说我能拿到的选择是单元格,还是一行?
如果是单元格选择,通过SelectedBackgroud属性可以给选择的单元格改变颜色。
如果是行选,那么通过LoadedCellPresenter事件里,可以通过e.Cell.Presenter.Background给任意的单元格设置特殊的颜色。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
CanYou1
高级会员   /  发表于:2015-12-19 16:50:00
5#
回复 4楼Alice的帖子

不要非得同时选中行和单元格啊,只是选中单元格时要用明显的颜色标出,同时这行的背景色不要变。他是UI工程师,不知如何写后台代码。请问如何在样式里设置?
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-12-21 09:11:00
6#
回复 5楼CanYou1的帖子

您好。
通过4楼所说的方法,c1datagrid已经暴露了SelectedBackgroud属性可以设置选择的颜色(可以在XAML或是代码设置)。
或是通过LoadedCellPresenter事件。

如果想通过XAML的CellStyle,可以拿到DataGridCellPresenter来设置Selected颜色。
一些思路:
  1.             <c1:C1DataGrid.CellStyle>
  2.                 <Style TargetType="c1:DataGridCellPresenter">
  3.                     <Setter Property="Template">
  4.                         <Setter.Value>
  5.                             <ControlTemplate TargetType="c1:DataGridCellPresenter">
  6.                                 <Grid>
  7. //重写selected cell的背景色                                
  8.                                 </Grid>
  9.                             </ControlTemplate>
  10.                         </Setter.Value>
  11.                     </Setter>
  12.                 </Style>
  13.             </c1:C1DataGrid.CellStyle>
复制代码
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
CanYou2
注册会员   /  发表于:2015-12-23 14:05:00
7#
原生的DataGrid有个SelectionUnit=&quot;Cell&quot;可以实现效果,但是C1DataGrid没有这个属性,请问可以有其他属性代替的吗?按上面的方法没有实现效果
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-12-23 16:58:00
8#
回复 7楼CanYou2的帖子

我通过6楼提到的样式的方法,写了一个Demo。
演示行和单元格都有选择的效果,详细的请查看示例:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部