找回密码
 立即注册

QQ登录

只需一步,快速开始

CanYou8

银牌会员

67

主题

191

帖子

2047

积分

银牌会员

积分
2047

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

CanYou8
银牌会员   /  发表于:2016-1-27 17:22  /   查看:6904  /  回复:4
需求:使用C1FlexGrid绑定数据,各列均只读。
问题:在C1FlexGrid中设置IsReadOnly="True",或者在Column中设置IsReadOnly="True",列表的CheckBox列(“排单”列)仍然可以编辑;代码如下
  1.                         <c1:C1FlexGrid Name="C1FlexGrid" Grid.Row="1" AutoGenerateColumns="False" AllowAddNew="False"
  2.                                        IsReadOnly="True" Style="{StaticResource Green}" BorderThickness="1"
  3.                                        SelectionMode="Row" MaxRowHeight="20"
  4.                                        ItemsSource="{Binding List,IsAsync=True}" SelectedItem="{Binding CurrentItem,Mode=TwoWay}">
  5.                             <i:Interaction.Triggers>
  6.                                 <i:EventTrigger EventName="MouseRightButtonDown">
  7.                                     <command:EventToCommand PassEventArgsToCommand="True" Command="{Binding GridRightClickCommand}"/>
  8.                                 </i:EventTrigger>
  9.                             </i:Interaction.Triggers>
  10.                             <c1:C1FlexGrid.Columns>
  11.                                 <c1:Column Header="类型" Binding="{Binding OrderTypeStr}"/>
  12.                                 <c1:Column Header="日期" Binding="{Binding ReviewDate}" Format="yyyy-MM-dd" HorizontalAlignment="Left"/>
  13.                                 <c1:Column Header="客户代码" Binding="{Binding CustomerCode}"/>
  14.                                 <c1:Column Header="排单" IsReadOnly="True">
  15.                                     <c1:Column.CellTemplate>
  16.                                         <DataTemplate>
  17.                                             <CheckBox IsChecked="{Binding IsScheduling}"/>
  18.                                         </DataTemplate>
  19.                                     </c1:Column.CellTemplate>
  20.                                 </c1:Column>
  21.                             </c1:C1FlexGrid.Columns>
  22.                         </c1:C1FlexGrid>
复制代码

如何设置让其只读?

另外,尝试设置CheckBox的IsEnabled="False",虽然可以实现只读效果,但是显示效果差强人意,整个CheckBox灰蒙蒙的看不清,请看下图

如何实现类似C1DataGrid这样的效果?

本帖子中包含更多资源

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

x

4 个回复

倒序浏览
gw0506
超级版主   /  发表于:2016-1-28 10:12:00
沙发
ReadOnly和Enable是不同的概念,所以效果不同。
对于标准的CheckBox,没有IsReadOnly属性,所以不可能做到你要的效果。

FlexGrid本身支持CheckBox的单元格类型,你的“排单”列是不是bool类型?如果是的话,完全不需要自定义模板,他会自动生成checkbox。这时候你给flexgrid设置 isreadonly 它就是不可编辑的。
回复 使用道具 举报
CanYou8
银牌会员   /  发表于:2016-1-28 10:58:00
板凳
将属性转为bool类型后,自动生成了checkbox;完全实现了我这边想达到的效果!非常感谢!!
回复 使用道具 举报
gw0506
超级版主   /  发表于:2016-1-28 13:48:00
地板
解决了就好。
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2016-3-1 14:24:00
5#
回复 3楼CanYou8的帖子

为了给你提供更优质的服务,请对本次服务进行评分。我们会认真对待你提出的宝贵意见,谢谢
      

您可以关注我们的微信服务号(微信号:GrapeCityDT),帖子有回复时可即时收到提醒,便于您第一时间查看,尽快解决技术问题。关注即可获得300金币用于兑换礼品。

评分

参与人数 1满意度 +5 收起 理由
CanYou8 + 5 很满意,问题已经解决

查看全部评分

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

葡萄城控件服务团队

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