C1FlexGrid复选框只读设置问题
需求:使用C1FlexGrid绑定数据,各列均只读。问题:在C1FlexGrid中设置IsReadOnly="True",或者在Column中设置IsReadOnly="True",列表的CheckBox列(“排单”列)仍然可以编辑;代码如下
<c1:C1FlexGrid Name="C1FlexGrid" Grid.Row="1" AutoGenerateColumns="False" AllowAddNew="False"
IsReadOnly="True" Style="{StaticResource Green}" BorderThickness="1"
SelectionMode="Row" MaxRowHeight="20"
ItemsSource="{Binding List,IsAsync=True}" SelectedItem="{Binding CurrentItem,Mode=TwoWay}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseRightButtonDown">
<command:EventToCommand PassEventArgsToCommand="True" Command="{Binding GridRightClickCommand}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
<c1:C1FlexGrid.Columns>
<c1:Column Header="类型" Binding="{Binding OrderTypeStr}"/>
<c1:Column Header="日期" Binding="{Binding ReviewDate}" Format="yyyy-MM-dd" HorizontalAlignment="Left"/>
<c1:Column Header="客户代码" Binding="{Binding CustomerCode}"/>
<c1:Column Header="排单" IsReadOnly="True">
<c1:Column.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding IsScheduling}"/>
</DataTemplate>
</c1:Column.CellTemplate>
</c1:Column>
</c1:C1FlexGrid.Columns>
</c1:C1FlexGrid>
如何设置让其只读?
另外,尝试设置CheckBox的IsEnabled="False",虽然可以实现只读效果,但是显示效果差强人意,整个CheckBox灰蒙蒙的看不清,请看下图
如何实现类似C1DataGrid这样的效果? ReadOnly和Enable是不同的概念,所以效果不同。
对于标准的CheckBox,没有IsReadOnly属性,所以不可能做到你要的效果。
FlexGrid本身支持CheckBox的单元格类型,你的“排单”列是不是bool类型?如果是的话,完全不需要自定义模板,他会自动生成checkbox。这时候你给flexgrid设置 isreadonly 它就是不可编辑的。 将属性转为bool类型后,自动生成了checkbox;完全实现了我这边想达到的效果!非常感谢!! :hjyzw: 解决了就好。 回复 3楼CanYou8的帖子
为了给你提供更优质的服务,请对本次服务进行评分。我们会认真对待你提出的宝贵意见,谢谢
http://gcdn.gcpowertools.com.cn/attachment.aspx?attachmentid=10062
您可以关注我们的微信服务号(微信号:GrapeCityDT),帖子有回复时可即时收到提醒,便于您第一时间查看,尽快解决技术问题。关注即可获得300金币用于兑换礼品。
页:
[1]