MindFusion ASP.NET Pack (产品编号:12729)

为程序员构建图表、流程图、日程安排、图表等等提供一系列理想的工具集

标签:UI界面

开发商: MindFusion

当前版本: v2020 R1

产品类型:控件

产品功能:图表

平台语言:

开源水平:不提供源码

本产品的分类与介绍仅供参考,具体以商家网站介绍为准,如有疑问请来电 023-68661681 咨询。

当前版本: v2017.R1

MindFusion ASP.NET Pack v2017.R1

MindFusion ASP.NET Pack 2017.R1包含以下新功能和改进:

MindFusion.Diagramming

下面的列表介绍了MindFusion.Diagramming for WebForms的最新更改和补充:

自由形式的节点

FreeFormNode收集用户鼠标或触摸输入的所有点,并将它们显示为节点的轮廓。 为了让用户以交互方式绘制自由形式的节点,请将行为设置为DrawFreeForms或LinkFreeForms。 使用FreeFormNode的Points属性以编程方式获取或设置轮廓点。 如果设置了Closed属性,则节点被绘制为封闭的形状,并且其内部被填充,否则该节点被绘制为多边形线。 如果用户绘制的第一个点和最后一个点之间的距离小于AutoCloseDistance,则该节点的Closed属性自动设置为true。 AutoCloseDistance的默认值是float.MaxValue,所以自由形式的节点总是关闭的。

将自由格式的图形转换为ShapeNodes

其他绘图模式,便于触摸输入,将用户绘制的FreeFormNode对象转换为具有匹配形状的ShapeNode对象。 要启用它们,请将行为设置为DrawFreeShapes或LinkFreeShapes。 用户输入匹配的形状通过图的FreeFormTargets属性设置。 它默认包含Rectangle、Decision和Ellipse形状。

MindFusion ASP.NET Pack v2017.R1

用户交互控制器

所有类型的用户交互现在由控制器对象执行。返回不透明InteractionState实例的BehaviorBase派生类的startDraw方法已被createController方法替换,该方法返回特定于修改项和交互类型的类的控制器。 内置的控制器包括CreateNodeController、CreateLinkController、ModifyNodeController、ModifyLinkController、LaneGridController。 您也可以通过派生和重写SinglePointerController的方法来创建自定义控制器 -

代码:

SinglePointerController.prototype =
{
    start: function (position) {},
    move: function (position) {},
    validate: function (position) {},
    commit: function (position) {},
    cancel: function (position) {},
    drawInteraction: function (context) {}
}


记录并重播

Diagram类提供record、stopRecording和replay方法,可以用来保存和重放用键盘和鼠标的所有用户操作。 重放方法需要(记录、计时器、图表)参数。 录制参数是由stopRecording返回的记录数组。 如果timer参数设置为true,则事件将从保留原始时间的计时器重播,否则将立即重播。 定时器模式可以用来显示在图中直接播放的教程。 即时模式可用于在重放一系列事件后检查断言的情况下自动进行用户交互测试。 如果在图上放置物品放置在相同的初始坐标上,则记录的事件也可以作为宏重播。

改进的可测性

用户交互现在可以通过下面几种方式自动测试。

  • 创建一个MouseInputDispatcher实例并调用它的方法:

    代码:
    其中MindFusion.Drawing.Point实例中的位置指定图中的逻辑坐标(以当前测量单位,不按缩放因子缩放)。 所谓的鼠标方法的结果将取决于图的当前行为,例如, 当“行为”设置为“绘制图形”时,可以形成一系列向下/移动/向上事件会创建一个ShapeNode。
  • ·         onMouseDown: function (position, button)
    ·         onMouseMove: function (position)
    ·         onMouseUp: function (position, button)
  • 创建一个控制器类的实例并调用它的开始、移动和提交方法。 这不依赖于Diagram.Behavior的值,但仍可能受到其他行为属性(如AllowSelfLoops和AllowUnconnectedLinks)的影响。

  • 在保存的图上重放记录后检查树状结构。

标尺控件

标尺控件提供水平和垂直标尺,帮助用户测量和对齐图表项目。为了设置标尺实例,创建一个标尺元素并将其DiagramViewID属性设置为目标DiagramView -

代码:

<ndiag:Ruler runat="server" ID="ruler">
    <ndiag:DiagramView runat="server" ID="diagramView" ClientSideMode="Canvas" />
</ndiag:Ruler>


第三方依赖现在可选

现在可以在没有JQuery和Microsoft Ajax库的情况下使用该图。 要启用该模式,请为DiagramView元素设置ClientScriptMode =“StandAlone”。 独立模式需要相对较新的浏览器,反对我们测试的基本功能集是IE11。

翻转形状

ShapeNode的形状可以水平或垂直翻转。 启用AllowFlip属性,并在边缘被拖动到其相反的边缘时翻转形状。 您可以使用FlipX和FlipY属性获取或设置当前翻转状态。

MindFusion ASP.NET Pack v2017.R1

改进项目依赖系统

图项之间的依赖关系现在由规则对象表示,并由DiagramMediator类按顺序应用。 内置依赖项由ItemFollowsContainerRule、AttachedFollowsMasterRule、LinkFollowsNodesRule、NodeFollowsSelectionRule规则实现。 您可以使用以下API创建自定义规则对象,并将它们添加到DiagramMediator.AllRules数组中,以便在用户交互期间使项目跟随其他项目 -

代码:

var MyRule =
{
    dependencies: function (master) {}, // return array of items that should follow master
    dependentUpon: function (dependency) {},  // return array of items that should be followed by dependency
    recognize: function (dependency) {},  // return true or false if this rule should be applied on an item
    updateFromMasters: function (dependency, originalStates) // set new position or size of dependency
}


流畅的API

MindFusion.Diagramming.Fluent和MindFusion.Diagramming.Layout.Fluent命名空间的扩展方法添加支持流畅的编程风格:

代码:

using MindFusion.Diagramming.Fluent;
using MindFusion.Diagramming.Layout.Fluent;
//...
 
diagram.Factory
        .CreateShapeNode(10, 10, 20, 20)
               .Brush(Color.LightGray)
               .Font("Arial", 12)
               .EnableStyledText(true)
               .Text("Task <i>1</i>")
               .ToolTip("This is the task");
 
new TreeLayout()
        .LevelDistance(20)
        .NodeDistance(20)
        .LinkStyle(TreeLayoutLinkType.Cascading3)
        .Arrange(diagram);


DiagramLink改进

  • 组件不再保留单独的segmentCount字段,消除了常见的错误来源。 SegmentCount属性现在从ControlPoints元素计算它的值。 UpdateFromPoints(updateGroups,updateSegments)过载也被删除;

  • 如果启用自动路由或者链路是自循环,SegmentCount设置程序不再拒绝更改的段数;

  • LinkShape枚举的新样条曲线元素将链接绘制为通过所有控制点的插值样条曲线:

    MindFusion ASP.NET Pack v2017.R1

画布模式的改进

  • DiagramLink.HeadPen属性现在以“画布”模式工作。它在JavaScript API中的相应方法是setHeadStroke、setHeadStrokeThickness和setHeadStrokeDashStyle;

  • Canvas模式现在支持TableNode和ContainerNode的CaptionFormat属性。 JavaScript API中的对应方法是setTextAlignment和setLineAlignment;

  • Canvas模式现在支持swimlanes Grid的AllowResizeHeaders属性。控件在用户尝试调整大小时引发HeaderStartResizingScript验证事件,并在操作完成时引发HeaderResizedScript。

  • NodeListView的NodeSize和DefaultNodeSize属性可以设置为SizeF.Empty,在这种情况下,控件将使用存储在node.Bounds中的大小;

  • 控件现在支持使用DiagramNode.attachTo方法创建的循环附件,其中移动任何附加的节点都将移动循环中的所有其他节点;

  • Shapes.RoundRect圆弧保持恒定半径,当节点大小变为非矩形时不再变形;

  • 从代码或交互式添加或删除项目时会引发ItemAddedScript和ItemRemovedScript事件;

  • Canvas模式现在支持DiagramView.CustomLinkType属性;

  • Canvas模式现在支持Diagram.AllowSelfLoops属性;

其他

  • CaptionBackBrush和FoldIconSize属性添加到ContainerNode。

  • 改进了节点的多次旋转,现在节点角度由鼠标位置计算的相同旋转增量修改,而不是鼠标指向所有旋转手柄。

  • Canvas模式现在支持CustomLinkType属性。

  • LayeredLayout的LinkPadding属性指定级联链接之间的填充空间。

  • 写入添加到PdfExporter、VisioExporter和Visio2013Exporter的Stream对象的导出重载。

  • ClientScriptMode =“JQuery”现在支持JQuery的版本3。

  • 从剪贴板粘贴项目时会引发NodePastedScript和LinkPastedScript客户端事件。

  • 如果HyperLink设置为“page:// {number}”格式的值,则PdfExporter现在创建页面超链接。 设置“page:// 1”打开第二个PDF页面,点击该项目。

  • 客户端图形API的TypeScript定义现在在jsdiag.d.ts文件中提供。

MindFusion.Charting

下面的列表介绍了MindFusion.Charting for WebForms的最新更改和补充:

客户端绘图

现在使用HTML5 Canvas API在客户端呈现图表,而不是在服务器端生成位图。 这也使得用户可以进行交互:现在可以滚动或放大绘图,可以移动图例,颜色可以响应鼠标事件而改变。 另外,您可以使用客户端JavaScript API动态地将新数据加载到图表中。

新的数据模型

应该在图表中绘制的数据通过名为Series的接口读取,该接口的实例可以分配给Chart和SeriesRenderer类的Series属性。 您可以在自己的模型类中实现此接口,以避免重复数据。 另外,如果一个模型类是封闭的,但提供了API来访问它的数据,你可以在一个适配器类中实现接口。 该库包含几个预定义的系列类,可让您通过IList或数组对象指定数据。 例如,BarSeries允许您指定值列表,内部标签和顶部标签,PointSeries允许您将数据指定为点列表。 另外,DataBoundSeries实现可以用来从.NET数据源自动读取数据。 当设置图表的数据源属性时,后一系列类型的实例会自动生成。

新的渲染模型

图表图形通过由SeriesRenderer派生的对象绘制在绘图组件中。每个图可以包含多个来自相同或不同类型的系列渲染器。例如,通过将AreaRenderer、LineRenderer和BarRenderer对象添加到其SeriesRenderer集合,可以在同一图中绘制区域、线条和条形图。具体图表类自动为其系列生成适当类型的系列渲染器。

仪表板

仪表板控件可以包含以动态布局排列的多个图、轴、图例、图像、仪表和文本块。可以将各个组件添加到仪表板的默认RootPanel或LayoutPanel容器,或者对于更复杂的布局,可以将中间面板(如GridPanel和StackPanel)添加到默认面板。要显示不同类型的图表图形,请添加Plot2D以绘制2D直角坐标系,使用Plot3D绘制3D笛卡尔系统,并添加PolarPlot以绘制极坐标系。要绘制水平或垂直轴,分别添加XAxisRenderer和YAxisRenderer对象。

造型

外观属性的值可以来自组件层次结构中的多个位置。 SeriesRenderer派生的对象可以使用本地SeriesStyle、plot的SeriesStyle或当前Theme的* Series属性中的属性。 组件类使用其本地属性或主题中定义的属性。 默认情况下,SeriesRenderer和Component类中的外观属性具有空值,这使绘图代码可以使用主题中的值。

漏斗图

漏斗图通常用于表示一个过程的阶段,并显示与每个阶段相关的相对值或测量值。 在MindFusion.Charting API中,可以使用FunnelChart独立控件或置于更复杂仪表板中的FunnelRenderer实例来创建渠道图表。 FunnelChart从基本Chart类继承,并通过其SegmentSpacing和StemWidth属性提供额外的自定义。

交互式范围选择

RangeSelector是一个类似滚动条的组件,允许用户滚动或调整图表数据的当前可见范围。 BiaxialChart显示一个水平范围选择器,当它的showXRangeSelector属性被启用时,和一个垂直的ShowYRangeSelector被启用。 滚动范围是使用X轴的XScrollRangeMin和XScrollRangeMax属性以及Y轴的YScrollRangeMin和YScrollRangeMax属性指定的。

MindFusion ASP.NET Pack v2017.R1

查看MindFusion ASP.NET Pack 更新新闻


更新时间:2017-12-20 17:39:15.000 | 录入时间:2011-02-12 11:31:11.000 | 责任编辑:莫成敏

相关产品
FastCube.Net

FastCube使您能够分析数据并构建汇总表(数据切片),以及轻松,即时地创建各种报表和图表。它是高效分析数据阵列的便利工具。

MindFusion.WPF Pack

集合了图表控件、日程控件以及报表控件,用于创建所有类型的流程图、方案、图形、表格、图表、日程、调度、商业报表、计量表等

GLG Graphics Server

一款能通过使用AJAX技术在网页上显示动态实时图片的瘦客户端解决方案

Dynamic Configuration and Editing API

GLG工具包的一款可选控件,它可提供在运行时的高级动态配置与编辑功能

相关厂商
在线
客服
咨询
电话
400-700-1020
在线
QQ
购物车 反馈 返回
顶部
在线客服系统
live chat