如何在两个C1DataGrid中实现拖拽项目
发布于: 2014/12/31 00:00
ComponentOne Studio for WPF 为我们提供了一个非常实用的类C1DragDropManager ,使用它我们可以轻松处理程序与用户交互时的拖拽操作。使用C1DragDropManager类我们只需进行简单的配置,配置完成后,对拖拽操作的支持即刻被添加到您的应用中。通过使用该类,我们能开启应用中对拖拽命令的支持,对其进行定制,并允许移动及复制操作。本篇博客的目的,在于讨论在两个C1DataGrid 控件间拖拽多行数据的问题。
ComponentOne License问题集锦(一):激活和反激活
发布于: 2014/12/31 00:00
在下载和安装ComponentOne产品后,就可以激活license。如果仅仅是在买之前试用产品,可以忽略本文的激活和反激活过程。试用版TrialVersion下载和安装产品后,会有30天的试用期限。在此期间,可以试用ComponentOne产品的所有功能。试用版功能上和试用版一致,不会有任何限制。在30天试用期结束后,就不能再编译包含没有授权的ComponentOne控件的工程。如果需要继续使用,需要购买和获取一个license。一旦有了激活的key,就可以通过开始菜单的激活工具激活它,具体激活方式请阅读下面内容。激活和反激活License激活1。ComponentOne License Activation首先要找到ComponentOne的激活工具。在计算机开始菜单->ComponentOne->Activation文件夹下,Activation就是激活License的应用。
ComponentOne License问题集锦(二):工程升级
发布于: 2014/12/31 00:00
在使用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 ActiveX控件的部署和分发
发布于: 2014/12/24 00:00
经常有客户提出如何部署分发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路线图
发布于: 2014/12/16 00:00
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箱中的控件功能强大很多。现已尘埃落定,我们可以宣布官方时间表和产品中包含的内容。
C1PrintDocument: StartDoc-EndDoc和Generate的对比
发布于: 2014/12/06 00:00
很多时候,用户希望在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() MethodGenerate方法使用RefreshCalculatedValues刷新模式产生document。如果要用Generate方法,需要直接添加render objects到document的body。代码如下所示:this.c1PrintDocument1.Body.Children.Add(new C1.C1Preview.RenderText("Hello, World!"));
C1Chart在WinForm平台下的同步(二):缩放同步
发布于: 2014/12/05 00:00
在上篇文章中,我们讨论了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。
C1Chart在WinForm平台下的同步(一):滚动条同步
发布于: 2014/12/05 00:00
在WinForm平台下,如果有两个相同的C1Chart,如何保持两者在运行时候的同步呢?在接下来的一系列文章,我们专门讨论C1Chart的同步。首先就先来介绍滚动条同步。在文章的最后,有本文所用到的Demo,本文介绍的都是再此基础上进行同步讨论。首先,在设计界面拖拽两个C1Chart,保持大小和位置的一致,以及给两个C1Chart导入相同的数据。代码参考:c1Chart1.SaveChartToFile("Chart1_Data.xml");c1Chart2.LoadChartFromFile("Chart1_Data.xml");接着,C1Chart的滚动条在默认情况下是不显示的,因此需要通过代码或是设计界面将其显示出来。代码参考:this.c1Chart1.ChartArea.AxisX.ScrollBar.Visible = true; this.c1Chart1.ChartArea.AxisY.ScrollBar.Visible = true; this.c1Chart2.ChartArea.AxisX.ScrollBar.Visible = true; this.c1Chart2.ChartArea.AxisY.ScrollBar.Visible = true;其次,调用ScrollBar.AxisScroll事件,当轴的滚动条发生滚动,会触发该事件。
C1Chart在WinForm平台下的同步(三):TriangleMarker同步
发布于: 2014/11/29 00:00
在上面的两篇文章中,我们分别讨论了C1Chart在WinForm平台下的同步(一):滚动条同步和C1Chart在WinForm平台下的同步(二):缩放同步,我们讨论了如何在运行时保持两个C1Chart的滚动条同步和缩放同步。本文是本系列的最后一篇,在前两个的基础上,继续深入讨论在WinForm平台下,保持拖拽标签Mark的同步。同样的,在文章的最后,会附上本文所用到的Demo。首先,都是一样的,在设计界面拖拽两个C1Chart,保持大小和位置的一致,以及给两个C1Chart导入相同的数据。代码参考:c1Chart1.SaveChartToFile("Chart1_Data.xml");c1Chart2.LoadChartFromFile("Chart1_Data.xml"); 接着,给C1Chart添加X轴的ValueLabel,让其显示成可移动的带三角标的Marker的样子,如图: 红色竖直带三角符号的线就是我们需要的Marker。有客户问,这条线是如何添加上去的,有没有内置的接口。其实,这就是我们经常用到的AxisX的ValueLabels,只是将其Appearance设置为TriangleMarker,并且将Moveable设置为true,这样就可以在X轴上显示一条Marker的线。注意:要将AxisX.AnnoMethod 属性设置为AnnotationMethodEnum.Mixed,我们设的Marker线才能显示出来。代码参考: this.c1Chart1.ChartArea.AxisX.ValueLabels.Add(1, "Marker"); this.c1Chart1.ChartArea.AxisX.ValueLabels[0].Appearance = ValueLabelAppearanceEnum.TriangleMarker; this.c1Chart1.ChartArea.AxisX.ValueLabels[0].Moveable = true; this.c1Chart1.ChartArea.AxisX.ValueLabels[0].GridLine = true; this.c1Chart1.ChartArea.AxisX.ValueLabels[0].Color = Color.Red; c1Chart1.ChartArea.AxisX.AnnoMethod = AnnotationMethodEnum.Mixed; 同样,通过LayoutLabels事件,获取其中一个的ValueLabel的NumericVaue,赋值给另一个C1Chart。
如何使用ComponentOne OLAP for WPF分析SSAS Cube数据
发布于: 2014/11/28 00:00
OLAP Cube提供联机分析处理Cube数据的能力,它是一种利用多维数据进行快速数据分析的数据结构。其用户界面一般是一个囊括了所需数据的多维电子表格。举例来讲,当你希望使用产品、时间周期和颜色三种特性来反映销售情况时,对应的理论上的Cube就如下图所示:<div style="width:400px;height:280px;overflow:hidden"><img src="http://www.grapecity.com.cn/image.ashx?picture=clip_image001_1.png" style="float:none; margin-top: -0px;margin-left: -0px;" /></div>
葡萄城热门产品


