CanYou8 发表于 2016-1-7 14:01:00

C1DataGrid用到的特性与功能,C1FlexGrid有没有类似的特性?

在WPF平台下,我们使用的多是C1DataGrid,而对于C1FlexGrid用的很少。附件中列出了目前我们用到的C1DataGrid的特性或功能,请问C1FlexGrid有没有类似的实现?能否提供一个完整的Demo?

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属性固定列。

CanYou8 发表于 2016-1-8 16:45:00

在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>

Alice 发表于 2016-1-11 12:14:00

回复 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>

CanYou8 发表于 2016-1-11 17:04:00

好的 谢谢 :mj72:

Alice 发表于 2016-1-12 12:05:00

回复 5楼CanYou8的帖子

不客气。
页: [1]
查看完整版本: C1DataGrid用到的特性与功能,C1FlexGrid有没有类似的特性?