C1DataGrid用到的特性与功能,C1FlexGrid有没有类似的特性?
在WPF平台下,我们使用的多是C1DataGrid,而对于C1FlexGrid用的很少。附件中列出了目前我们用到的C1DataGrid的特性或功能,请问C1FlexGrid有没有类似的实现?能否提供一个完整的Demo?回复 1楼CanYou8的帖子
谢谢您对该问题的反馈。
您在附件的文档中提出了14个需求,我们不可能针对您的需求提供完整的Demo。我们可以帮助您解决产品上的问题,业务逻辑的部分还请您自行完成。
有关这14个需求,参考如下:
1,2:我们已经有其他用户设计了有关校验,您可以参考如下的文档实现:
http://www.cnblogs.com/memento/p/4882248.html
3:这个问题在之前的帖子您已经问过了,而且已经实现,请参考:
http://gcdn.gcpowertools.com.cn/showtopic-19894.html
4.支持合并,可以参考随机安装示例:
C1FlexGrid文件夹下的路径:\C1.WPF.FlexGrid\CS\ExcelStyleMerge\ExcelStyleMerge
5.是的,提供了不同的数据类型。
6.ToolTip的功能参考随机安装示例,路径:
\C1.WPF.FlexGrid\CS\GridToolTips\GridToolTips
7.可以。通过相关属性设置(比如HeaderFontWeight属性)。另外样式都可以通过模板定制。
8.可以。高度通过ColumnHeaders.Height可以设置。ColumnHeaderBackground属性就可以设置行头背景色。
9.可以。通过GridLinesBrush属性可以设置。
10.可以。除了之前提到的属性设置边框。还可以优化单元格的边框。
请参考我们客户写的一篇文章:
http://www.cnblogs.com/memento/p/4512371.html
11.同第一和第二的问题的文章,可以参考。
12.可以出现滚动条。有AutoSizeColumn/AutoSizeRow等构造方法可以自动调整行高列宽。
13.可以设置只读背景色。而且在您之前的帖子里我们也讨论过这个问题。
14.有提供FrozenColumns属性固定列。 在C1DataGrid中,我们在.xaml文件中定义需要显示在列表中的列,绑定复选框、下拉、时间控件等,代码如下所示。
C1FlexGrid的随机示例中,绑定的列以及数据,都是在后台方法中处理的;请问在C1FlexGrid中,有没有类似下面代码所示的实现方式,来绑定复选框、下拉、时间控件等?
<c1:C1DataGridItemsSource="{Binding List,Mode=TwoWay}" SelectedItem="{Binding CurrentModel, Mode=TwoWay}">
<c1:C1DataGrid.Columns>
<c1:DataGridCheckBoxColumn Header="选择" Binding="{Binding IsSelected}"/>
<c1:DataGridTextColumn Header="层数" Binding="{Binding Layer}" IsReadOnly="True"/>
<c1:DataGridTemplateColumn Header="类型" Width="60">
<c1:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel Name="StackPanel" VerticalAlignment="Center" Margin="10,0,0,0">
<TextBlock VerticalAlignment="Center" Cursor="Hand" Name="ParameterItem" Text="{Binding PriceTypeStr}"/>
</StackPanel>
</DataTemplate>
</c1:DataGridTemplateColumn.CellTemplate>
<c1:DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<c1:C1ComboBox DisplayMemberPath="name" SelectedValuePath="value"
ItemsSource="{Binding PriceTypeList}"
SelectedValue="{Binding PriceType, Mode=TwoWay}"/>
</DataTemplate>
</c1:DataGridTemplateColumn.CellEditingTemplate>
</c1:DataGridTemplateColumn>
<c1:DataGridTextColumn Header="价格" Binding="{Binding Price}"/>
<c1:DataGridDateTimeColumn Header="时间" Binding="{Binding CrateTime}"EditMode="DateTime" AllowNull="True"/>
</c1:C1DataGrid.Columns>
</c1:C1DataGrid> 回复 3楼CanYou8的帖子
谢谢您的反馈。
C1FlexGrid是通过Column.CellTemplate实现的。
比如:
<c1:C1FlexGrid Name="_flex" AutoGenerateColumns="False" >
<c1:C1FlexGrid.Columns>
<c1:Column Header="Alert" Binding="{Binding Alert}" Width="*" />
<c1:Column Header="Image" Width="*" >
<c1:Column.CellTemplate>
<DataTemplate>
<Image
Margin="4"
Source="{Binding Path=Alert, Converter={StaticResource AlertImageConverter}}"/>
</DataTemplate>
</c1:Column.CellTemplate>
</c1:Column>
<c1:Column Header="Message" Binding="{Binding Message}" Width="2*" />
</c1:C1FlexGrid.Columns>
</c1:C1FlexGrid> 好的 谢谢 :mj72: 回复 5楼CanYou8的帖子
不客气。
页:
[1]