找回密码
 立即注册

QQ登录

只需一步,快速开始

CanYou1

高级会员

45

主题

227

帖子

1359

积分

高级会员

积分
1359

活字格认证微信认证勋章元老葡萄

CanYou1
高级会员   /  发表于:2015-11-30 15:49  /   查看:9629  /  回复:11
C1DataGrid中有一些列是只读的,有一些是可编辑的,但用户无法用肉眼识别哪些列可编辑,怎样设置才能从样式上做以区别

11 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2015-11-30 17:03:00
沙发
回复 1楼CanYou1的帖子

谢谢您的反馈。
您是设置列的ReadOnly属性(比如DataGridTextColumn)为true么?
如果是这样,您可以通过LoadedCellPresenter事件来判断列的只读,并且设置背景色。
比如代码参考:
  1. void grid_LoadedCellPresenter(object sender, DataGridCellEventArgs e)
  2.         {
  3.             if (e.Cell.Column.IsReadOnly)
  4.             {
  5.                 e.Cell.Presenter.Background = Brushes.Red;
  6.             }
  7.         }
复制代码
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
CanYou1
高级会员   /  发表于:2015-12-1 09:40:00
板凳
回复 2楼Alice的帖子

好的,谢谢
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-12-1 10:47:00
地板
回复 3楼CanYou1的帖子

不客气。
谢谢反馈。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

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

发现这样做存在一个问题,如果列表有横向滚动条,左右滚几下,会导致有的非只读列也变色了
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-12-22 15:49:00
6#
回复 5楼CanYou1的帖子

使用随机安装示例做测试(将某列设置为只读,滚动),无法重现您提到的问题,有什么必然重现的步骤?
测试Demo:
\Documents\ComponentOne Samples\WPF\C1.WPF.DataGrid\CS\DataGridSamples\DataGrid
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
CanYou1
高级会员   /  发表于:2015-12-22 17:20:00
7#
回复 6楼Alice的帖子






本帖子中包含更多资源

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

x
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-12-23 09:56:00
8#
回复 7楼CanYou1的帖子

谢谢您提供的Demo。
您的问题我们收到了,测试后给您反馈。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-12-24 17:28:00
9#
回复 7楼CanYou1的帖子

应该是刷新导致的。
使用模板来设置背景色,代码参考:
  1.            <c1:DataGridTemplateColumn Header="column1" Width="400" IsReadOnly="True">
  2.                     <c1:DataGridTemplateColumn.CellTemplate>
  3.                         <DataTemplate>
  4.                             <TextBlock Text="{Binding column1}" Background="Pink"></TextBlock>
  5.                         </DataTemplate>
  6.                     </c1:DataGridTemplateColumn.CellTemplate>
  7.                 </c1:DataGridTemplateColumn>
复制代码
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
CanYou1
高级会员   /  发表于:2015-12-26 11:54:00
10#
回复 9楼Alice的帖子

不能直接设置吗,这样的话每个只读列都要换成模板
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部