Country  china

如何在两个C1DataGrid中实现拖拽项目

ComponentOne Studio for WPF 为我们提供了一个非常实用的类C1DragDropManager ,使用它我们可以轻松处理程序与用户交互时的拖拽操作。使用C1DragDropManager类我们只需进行简单的配置,配置完成后,对拖拽操作的支持即刻被添加到您的应用中。

通过使用该类,我们能开启应用中对拖拽命令的支持,对其进行定制,并允许移动及复制操作。本篇博客的目的,在于讨论在两个C1DataGrid 控件间拖拽多行数据的问题。
[更多...]

ComponentOne License问题集锦(二):工程升级

在使用ComponentOne试用版的时候,会弹出试用版信息的提示框。有些客户提到已经按照激活和反激活文章里介绍的进行了激活,为什么还会弹出试用版提示信息?如果你是在激活产品之前创建的工程,那么需要对工程进行升级。 下面是详细的解决方案,该方案用于解决:使用试用版开发。购买License,激活开发环境的 C1 产品,发布的客户机或本机,仍然会弹出试用版提示框问题。 激活产品之后,需要对现有工程进行升级操作,升级步骤如下: 1、删除使用了 C1 工程中 C1 相关的Dll引用 2、删除使用了 C1 的工程中 licenses.licx 文件 3、在工程中添加一个新的窗体(为了自动生成Licenses.licx,并自动添加 C1 相关的Dll引用) 4、在VS工具箱中将 C1 控件添加到窗体中,此时会自动添加 C1 相关的Dll引用,并自动生成licenses.licx文件(需要确认DLL和License中 C1的版本号是否正确) 5、对解决方案中所有调用C1的工程进行1-4步操作。(一般客户会在该步骤出现问题,一定要针对项目的所有工程进行操作) 6、Rebuild整个解决方案 。 7、重新发布。 [更多...]

ComponentOne License问题集锦(一):激活和反激活

在下载和安装ComponentOne产品后,就可以激活license。如果仅仅是在买之前试用产品,可以忽略本文的激活和反激活过程。 试用版TrialVersion 下载和安装产品后,会有30天的试用期限。在此期间,可以试用ComponentOne产品的所有功能。试用版功能上和试用版一致,不会有任何限制。在30天试用期结束后,就不能再编译包含没有授权的ComponentOne控件的工程。 如果需要继续使用,需要购买和获取一个license。一旦有了激活的key,就可以通过开始菜单的激活工具激活它,具体激活方式请阅读下面内容。 激活和反激活 License激活 1。ComponentOne License Activation 首先要找到ComponentOne的激活工具。在计算机开始菜单->ComponentOne->Activation文件夹下,Activation就是激活License的应用。 [更多...]

Spread for XAML 表格控件:实现交叉报表

Spread 表格控件在业内以强大的 Excel 兼容性著称,并且广泛应用于制作报表。在日常工作中,经常需要使用 excel 制作交叉报表,Excel 交叉报表的左上角单元格斜线通过 Excel 单元格斜边框制作。那么,在Spread中是否可以实现这样的效果呢?在篇文章中,我们将阐述如何在 Spread 中添加斜线实现交叉报表中的表头效果。 [更多...]

ComponentOne ActiveX控件的部署和分发

经常有客户提出如何部署分发ComponentOne的ActiveX控件,本文就针对此问题,采用图文并茂的方式,一步步地教你如何部署和分发,轻松应对此问题。

本文的演示基于WinXp的操作系统,VB6.0的开发环境。打包程序的工具是VB自带的Package&Deployment。

在演示部署和分发之前,我们需要创建一个VB的工程,并且添加相应的ComponentOne控件,本文就以True DBGrid Pro 8.0 for Active X和True DBInput Pro 8 for Active X的TDBDate control为例,首先从工具箱里拖拽TrueDBGridPro8.0和TDBDate到窗体上,编译运行并保存该工程。
[更多...]

Xuni路线图

ComponentOne致力于开发和销售移动平台Windows Phone上的UI控件超过三年(如果算上Compact Framework 6.5时间更长)。因为C#和XAML是我们的专长,因此我们看到一个巨大的机会,即Xamarin.Forms能够将我们的UI控件带给更多的开发者。你可能已经知道,使用 Xamarin你可以用C#开发原生的iOS和Android应用程序。由于Android和iOS是世界上使用最广泛的手机操作系统,因此除了Windows应用程序的开发,我们认为这是最佳的扩展时间和机会。

在十月份的 Xamarin发展会议上,我们宣布了自己的原生跨平台移动控件套包Xuni。使用Xuni我们将以强大的UI控件进军全球移动应用市场,这些控件比Xamarin.Forms箱中的控件功能强大很多。现已尘埃落定,我们可以宣布官方时间表和产品中包含的内容。

[更多...]

Spread Studio 8 新特性:表格(Table)功能

在全新发布的Spread Studio 8 的WinForms平台中,新增了功能强大的表格(Table)功能,它可以将单元格区域显示为一个表格,包含过滤器、绑定行、内置样式等功能,并与Excel中的表格兼容。本文将全面介绍表格(Table)功能的使用方法,包括以下主题:1) 添加表格;2) 使用表格过滤器;3) 调整表格大小;4) 对表格数据进行排序;5) 设置表格样式;6) 添加表格运算公式;7) 表格相关公式引用介绍。 [更多...]

C1PrintDocument: StartDoc-EndDoc和Generate的对比

很多时候,用户希望在C1PrintDocument中插入新页,他们不知道该使用StartDoc-EndDoc还是使用Generate方法,或者两者都使用。

C1PrintDocument的创建既可以使用StartDoc-EndDoc也使用Generate方法。这两者是相似的,但是在实现上有所区别。

在本文中,我们讨论创建documents和插入新页的两种方式。

StartDoc()-EndDoc() 方法

StartDoc方法标记document 产生的开始,在EndDoc方法标记document产生的结束。如果要用StartDoc-EndDoc 方法,render objects需要被添加到document的块中。例如:使用RenderBlock(), RenderDirect() 和RenderInline() 方法,如下所示:

c1PrintDocument1.RenderBlock(renderTable1);

Generate() Method

Generate方法使用RefreshCalculatedValues刷新模式产生document。

如果要用Generate方法,需要直接添加render objects到document的body。代码如下所示:

this.c1PrintDocument1.Body.Children.Add(new C1.C1Preview.RenderText("Hello, World!")); [更多...]

C1Chart在WinForm平台下的同步(二):缩放同步

在上篇文章中,我们讨论了C1Chart在WinForm平台下的同步(一):滚动条同步,我们讨论了如何在运行时保持两个C1Chart的滚动条同步。

本文就在上篇文章的基础上,继续深入讨论在WinForm平台下,保持两个图表缩放的同步。同样的,在文章的最后,会附上本文所用到的Demo。

首先,都是一样的,在设计界面拖拽两个C1Chart,保持大小和位置的一致,以及给两个C1Chart导入相同的数据。

代码参考:

c1Chart1.SaveChartToFile("Chart1_Data.xml");
c1Chart2.LoadChartFromFile("Chart1_Data.xml");

接着,设置C1Chart的交互,将Interaction.Enable属性设置为true。确保在C1Chart缩放行为可用。

代码参考:

c1Chart1.Interaction.Enabled = true;
c1Chart1.Interaction.Actions["Zoom"].Modifier = Keys.None;
c1Chart1.Interaction.Actions["Scale"].Modifier = Keys.Control;
c1Chart1.Interaction.Actions["Translate"].Modifier = Keys.Shift;
c1Chart1.Interaction.Actions["Rotate"].Modifier = Keys.Alt;

c1Chart2.Interaction.Enabled = true;
c1Chart2.Interaction.Actions["Zoom"].Modifier = Keys.None;
c1Chart2.Interaction.Actions["Scale"].Modifier = Keys.Control;
c1Chart2.Interaction.Actions["Translate"].Modifier = Keys.Shift;
c1Chart2.Interaction.Actions["Rotate"].Modifier = Keys.Alt;

然后,通过LayoutLabels事件,获取其中一个的ScrollBar的Scale,赋值给另一个C1Chart。

[更多...]