找回密码
 立即注册

QQ登录

只需一步,快速开始

CanYou8

银牌会员

67

主题

191

帖子

2047

积分

银牌会员

积分
2047

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

CanYou8
银牌会员   /  发表于:2016-1-7 14:01  /   查看:5806  /  回复:5
在WPF平台下,我们使用的多是C1DataGrid,而对于C1FlexGrid用的很少。附件中列出了目前我们用到的C1DataGrid的特性或功能,请问C1FlexGrid有没有类似的实现?能否提供一个完整的Demo?

本帖子中包含更多资源

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

x

5 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2016-1-7 16:28:00
沙发
回复 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属性固定列。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
CanYou8
银牌会员   /  发表于:2016-1-8 16:45:00
板凳
在C1DataGrid中,我们在.xaml文件中定义需要显示在列表中的列,绑定复选框、下拉、时间控件等,代码如下所示。
C1FlexGrid的随机示例中,绑定的列以及数据,都是在后台方法中处理的;请问在C1FlexGrid中,有没有类似下面代码所示的实现方式,来绑定复选框、下拉、时间控件等?
  1.         <c1:C1DataGrid  ItemsSource="{Binding List,Mode=TwoWay}" SelectedItem="{Binding CurrentModel, Mode=TwoWay}">
  2.             <c1:C1DataGrid.Columns>
  3.                 <c1:DataGridCheckBoxColumn Header="选择" Binding="{Binding IsSelected}"/>
  4.                 <c1:DataGridTextColumn Header="层数" Binding="{Binding Layer}" IsReadOnly="True"/>
  5.                 <c1:DataGridTemplateColumn Header="类型" Width="60">
  6.                     <c1:DataGridTemplateColumn.CellTemplate>
  7.                         <DataTemplate>
  8.                             <StackPanel Name="StackPanel" VerticalAlignment="Center" Margin="10,0,0,0">
  9.                                 <TextBlock VerticalAlignment="Center" Cursor="Hand" Name="ParameterItem" Text="{Binding PriceTypeStr}"/>
  10.                             </StackPanel>
  11.                         </DataTemplate>
  12.                     </c1:DataGridTemplateColumn.CellTemplate>
  13.                     <c1:DataGridTemplateColumn.CellEditingTemplate>
  14.                         <DataTemplate>
  15.                             <c1:C1ComboBox DisplayMemberPath="name" SelectedValuePath="value"
  16.                                               ItemsSource="{Binding PriceTypeList}"
  17.                                               SelectedValue="{Binding PriceType, Mode=TwoWay}"/>
  18.                         </DataTemplate>
  19.                     </c1:DataGridTemplateColumn.CellEditingTemplate>
  20.                 </c1:DataGridTemplateColumn>
  21.                 <c1:DataGridTextColumn Header="价格" Binding="{Binding Price}"/>
  22.                 <c1:DataGridDateTimeColumn Header="时间" Binding="{Binding CrateTime}"  EditMode="DateTime" AllowNull="True"/>
  23.             </c1:C1DataGrid.Columns>
  24.         </c1:C1DataGrid>
复制代码
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2016-1-11 12:14:00
地板
回复 3楼CanYou8的帖子

谢谢您的反馈。
C1FlexGrid是通过Column.CellTemplate实现的。
比如:
  1. <c1:C1FlexGrid Name="_flex" AutoGenerateColumns="False" >
  2.             <c1:C1FlexGrid.Columns>
  3.                 <c1:Column Header="Alert" Binding="{Binding Alert}" Width="*" />
  4.                 <c1:Column Header="Image" Width="*" >
  5.                     <c1:Column.CellTemplate>
  6.                         <DataTemplate>
  7.                             <Image
  8.                                 Margin="4"
  9.                                 Source="{Binding Path=Alert, Converter={StaticResource AlertImageConverter}}"/>
  10.                         </DataTemplate>
  11.                     </c1:Column.CellTemplate>
  12.                 </c1:Column>
  13.                 <c1:Column Header="Message" Binding="{Binding Message}" Width="2*" />
  14.             </c1:C1FlexGrid.Columns>
  15.         </c1:C1FlexGrid>
复制代码
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
CanYou8
银牌会员   /  发表于:2016-1-11 17:04:00
5#
好的 谢谢
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2016-1-12 12:05:00
6#
回复 5楼CanYou8的帖子

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

葡萄城控件服务团队

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