交互式地将数据链接到图中的形状的系统和方法

文档序号:6650913阅读:103来源:国知局
专利名称:交互式地将数据链接到图中的形状的系统和方法
技术领域
所述技术一般涉及计算机图形可视化程序,尤其涉及将数据链接到图中的形状。
背景技术
常规的绘图程序通过提供可以选择和放置在图中的各种形状或对象,使其用户能够创建和编辑图。用户可以使用定点设备,如鼠标,来根据需要确定图中如正方形、矩形、圆、三角形、判别块等形状和对象的方向与尺寸。
这些常规的绘图程序中的一部分提供允许用户将数据与图中的形状和对象相关联的特征。例如,这些绘图程序可以提供菜单或向导,它们辅助或指导用户将外部数据与图中的对象相关联,从而增加这些图的价值。使用菜单或向导将外部数据导入到图中对象的一个主要缺点是,菜单和向导在使用上不直观,并且需要用户对数据的结构和图的细节两者有较高的熟悉度。造成这一点的一个因素是菜单和向导“隐藏”在几层混乱的菜单之下。
另一个因素是菜单和向导是“模态”用户界面,不允许用户看到他们所做决策的效果。这是因为在用户可以继续操作绘图程序之前,必须先关闭模态窗口,即,用户必须先完成数据与图中对象的关联。换言之,在用户完成了数据与图中对象的关联之前,用户看不到数据关联操作的结果。又一个因素是菜单和向导并不提供在处理图时可以容易使用的数据视图。
因此,允许用户通过可发现的直观界面将数据链接到图并快速识别链接到图的数据的值的技术将具有显著的实用性。


图1为框图,示出了于其上执行该工具程序的至少某些计算机系统中通常包括的选择的组件。
图2为高级框图,示出了工具程序的组件操作的环境。
图3为显示画面,示出了示例非模态外部数据窗口。
图4根据某些实施例,示出了工具程序用于将来自外部数据源的数据导入到非模态外部数据窗口的方法的流程图。
图5根据某些实施例,示出了工具程序用于通过非模态外部数据窗口中的行在图中创建新形状的方法的流程图。
图6根据某些实施例,示出了工具程序用于手动地将非模态外部数据窗口中的行链接到图中的现有形状的方法的流程图。
图7根据某些实施例,示出了工具程序用于执行链接操作的方法的流程图。
图8根据某些实施例,示出了工具程序用于刷新链接的方法的流程图。
具体实施例方式
在描述本发明的细节之前,先描述在此使用的某些术语。
术语“连接”一般地指创建数据源与图之间的关系的过程。
术语“链接”一般地指数据源中的行与图中的形状之间的关系。例如,将行链接到形状使得自定义属性由来自该行的值填充。
术语“映射”一般地指将列分配给属性的过程。例如,当行被链接(如,关联)到形状时,该形状的每个属性均由来自映射到它的列的值填充。
术语“自定义属性名称”一般地指内部用于唯一标识形状中的自定义属性的字符串。
术语“刷新”一般地指更新数据源的过程。
外部数据链接软件工具程序(“工具程序”)使用户能够使用外部数据源填充图中的形状或图对象(在下文中称为形状)的自定义属性。在各实施例中,该工具程序被实现为图形可视化程序的组件,并提供允许用户通过和图一起显示的外部数据的表式视图对他们的图执行各种动作的非模态界面。用户可以使用非模态界面来导入和显示来自外部数据源的数据,并将来自非模态界面的行链接到图中的现有形状或直接把行拖曳到绘图表面上,以在图中放置额外的已链接形状。
在一个实施例中,图形可视化程序提供数据选择器向导,它使得用户能够指定外部数据源以及要由该工具程序导入并在非模态用户界面中作为二维表格显示的外部数据源中的多条数据。一旦外部数据被显示在非模态界面中,该工具程序就能提供两种主要方法来创建行和图中形状之间的链接(1)通过将来自非模态界面的行拖曳到绘图表面的空白部分之上来创建新形状;及(2)通过将来自非模态界面的行拖曳到图中的现有形状之上来进行手动链接。
当用户将对来自非模态界面的行的选择拖曳到绘图表面上时,该工具程序对每一个行创建形状。该工具程序根据图形可视化程序的形状窗口中当前选择的形状母版来确定用于表示行的形状。“母版”是模板上的形状,用户可重复使用模板来创建图。例如,当用户将来自模板的形状拖曳到图上时,该形状就成为该母版的实例。如果没有选择形状母版,则该工具程序使用预定的母版,如矩形母版。如果选择了多个母版,则该工具程序对每个被拖曳的行都在绘图表面上放置每个母版中的一个。然后该工具程序将新形状链接到选择的行。
作为例子,假设当前选择了两个形状母版(如,ShapeA和ShapeB),如果用户将来自非模态界面的单个行(如,Row1)拖曳到绘图表面上,则该工具程序在绘图表面上放置ShapeA的一个实例和ShapeB的一个实例,并将两个形状链接到Row1。如果用户将来自非模态界面的多个行(如,Row1和Row2)拖曳到绘图表面上,则该工具程序在绘图表面上放置ShapeA的两个实例和ShapeB的两个实例。然后该工具程序将一个ShapeA链接到Row1,并将另一个ShapeA链接到Row2,以及将一个ShapeB链接到Row1,并将另一个ShapeB链接到Row2。
当用户将对来自非模态界面的行的选择拖曳到图中的现有形状上时,该工具程序将该形状链接到选择的行。在某些实施例中,该工具程序使用户能够选择图中的多个形状或形状的子形状,然后将一行或多行拖曳到绘图表面上。如果选择了多个形状且用户将对多行的选择拖曳到选择中的一个形状上,则该工具程序将拖曳的行中的最上面一行链接到选择中的第一个形状,将拖曳的行中的下一个最上面的行链接到选择中的下一个形状,并以此类推。如果没有下一个最上面的行,则该工具程序在行中“循环”,并将拖曳的行中的最上面一行链接到选择的下一个形状。
在其他实施例中,该工具程序提供包含非模态界面中每个显示的行旁边的链接图标的按钮,可以用该按钮将一行或多行链接到图中的现有形状。例如,当用户使用定点设备(如鼠标),并点击包含链接图标的按钮时,该工具程序选择该行并将光标改变为“链接工具”光标。然后,当用户用链接工具点击或选择图中的形状时,该工具程序将该形状链接到选择的行。
不论使用的链接方法是什么,该工具程序在一行被链接到图中的一个形状时执行下面的操作●如果在该形状和同一数据源中的另一行之间已经存在链接,则该工具程序向用户提供维持或移除该链接的选项。在某些实施例中,该工具程序通过在每个自定义属性旁边提供该链接已断裂或不再存在的指示来移除该链接。
●添加和填充自定义属性。
●覆盖现有的自定义属性值,即使它们是用户输入的或由另一数据源的行填充的。
该工具程序使用列名来确定哪些值将填充哪些自定义属性。如果存在具有和列名相同的标签(即,名称)的自定义属性,则该工具程序用来自该列的值填充该自定义属性。如果存在具有和该列名相同的标签的多个自定义属性,则该工具程序用来自该列的值填充具有与该列名相同的标签的所有自定义属性。如果没有具有匹配列的标签的自定义属性,则该工具程序创建新的自定义属性,并用来自该列的值填充该新的自定义属性。
一个技术上的优点是该工具程序使用户能够直观地将外部数据与图中的形状相关联,以创建可以分析和共享的信息高度丰富的图像。该工具程序还提供可用于在(如果)外部数据改变时更新图的刷新或更新特征。这极大增加了图的价值,因为它不再是静态的图像,而是不“失效”的活文档。
在某些实施例中,该工具程序向用户提供改变非模态界面中的列名的能力。如果用户改变列名,则新的经变换的名称会在自定义属性的标签中得到反映,该标签是在数据源中的行被链接到形状时,或当链接被刷新时创建的。换言之,自定义属性的名称是新的经变换的名称。改变非模态界面中的列名并不影响实际数据源中的列名。此特征允许用户使用比实际数据源中使用的名称描述性更强、更令人喜欢和/或更熟悉的列名。
用户可以覆盖或改变作为链接的结果创建的自定义属性的值。例如,图形可视化程序可以提供使用户能够访问和改变与形状关联的自定义属性的值的特征。在某些实施例中,该工具程序并不在非模态界面中反映对自定义属性值的改变。当刷新时,该工具程序提供覆盖或保留对值做出的任何手动改变的选项。例如,如果用户选择保留手动做出的改变,则不用非模态界面中的值覆盖或替换手动输入的自定义属性值。或者,如果用户选择覆盖手动做出的改变,则用来自非模态界面的其对应的值更新自定义属性,从而导致手动做出的改变丢失。
在某些实施例中,该工具程序向用户提供将单个形状到来自多个数据源的多个记录(即,每个都来自多个不同数据源的一个记录)的能力。结果,自定义属性可以映射到来自多个数据源的列。在此实例中,该工具程序采用顺序或优先级,以使重复的列(即,具有相同标签的列)在自定义属性中不重复,且来自最后或最近链接的记录的值具有较高优先级。例如,假设两个不同数据源中的多个列具有相同的列名,且每个都来自两个数据源的一行链接到形状,则该工具程序只创建一个具有和该列名相同标签的自定义属性。此外,该自定义属性的值是来自最后链接或刷新的数据源的列的值。
在某些实施例中,该工具程序允许用户激活和停用来自非模态界面的列,且该工具程序只对激活的列创建自定义属性。例如,该工具程序可以提供这样的对话框,其中包含数据源中所有列的当前名称及在每个列名称旁边的复选框的列表。选中列名旁边的复选框使该列出现在非模态界面中(即,使该列被激活),并在行被链接到形状时作为自定义属性添加。清除复选框使该列不出现在非模态界面中(即,使该列被停用),并防止在行被链接到形状时用来自此列的值填充自定义属性。换言之,该工具程序对停用的列不创建和/或链接自定义属性。
参考附图1-8,能够最好地理解该工具程序的各实施例及其优点。附图中的元素不必要按比例缩放,相反,所强调的是清楚地展示本发明的原理。贯穿附图,相同编号用于各附图中相同和对应的部分。
图1为示出于其上执行该工具程序的至少某些计算机系统中通常包括的选择的组件的框图。计算机系统100可以包括用于执行计算机程序的一个或多个中央处理单元(CPU)102;用于在使用程序和数据(包括数据结构)时存储它们的计算机存储器104;用于持久地存储程序和数据的持久存储设备106,如硬盘;用于读取存储在计算机可读介质上的程序和数据的计算机可读介质驱动器108,如CD-ROM驱动器;及用于将计算机系统(如通过因特网)连接到其他计算机系统来交换程序和/或数据(包括数据结构)的网络连接110。
该工具程序可以在计算机可读指令的通用上下文中描述,计算机可读指令如计算机系统100或其他设备执行的程序模块。通常,计算机模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。存储器104和持久存储设备106是可以包含实现该工具程序的指令的计算机可读介质。应理解,除实现该工具程序的指令之外,存储器104和持久存储106可以包含各种其他内容。
应理解,计算机系统100可以包括用于显示程序输出的一个或多个显示设备,如视频监视器或LCP面板,及用于接收用户输入的一个或多个输入设备,如键盘、麦克风,或如鼠标这样的定点设备。虽然通常使用如上所述配置的计算机系统100来支持该工具程序的操作,应理解,该工具程序可以使用各种类型和配置的设备来实现,并具有各种组件。
在下面的讨论中,结合各说明性示例来描述该工具程序的实施例。应理解,该工具程序的这些实施例可以在各方面明显不同于这些示例的环境下使用。作为一个这样的例子,即使例子一般涉及将外部数据链接到形状的自定义属性,但本领域的技术人员应理解,也可以链接到形状的属性,而形状可以包括或不包括自定义属性。
图2为示出该工具程序的组件操作的环境20的高级框图。总的来说,环境20有助于创建动态的、数据驱动的图,这样的图用于通过向最终用户提供简单的方式以使他们的数据进入其形状来可视化业务信息。如所述,环境20包括绘图程序202、外部数据选择器组件204、外部数据链接组件206、非模态外部数据窗口208、映射器组件210、刷新组件212、及通过网络216耦连到绘图程序202的外部数据源214。具体地,该工具程序被实现为绘图程序202的组件,并包括外部数据选择器组件204、外部数据链接组件206、非模态外部数据窗口208、映射器组件210和刷新组件212。
绘图程序202一般担当通过提供模板、符号和拖放绘图工具向用户提供绘制图、图表、图解和其他图的能力的应用程序。一种合适的绘图程序是华盛顿州雷蒙德市的微软公司提供的MicrosoftVisio。本领域的技术人员应理解,该工具程序可以容易地被实现为除MicrosoftVisio之外的市场上可购买的图形可视化程序,以及定制开发的图形可视化程序的组件。
外部数据选择器组件204一般用于将来自外部数据源214的数据导入到非模态外部数据窗口208中。在某些实施例中,外部数据选择器组件204被实现为向导(即,数据选择器向导),并包含辅助用户指定、过滤和命名数据源的逻辑。例如,用户可以指定数据源和数据源中要作为二维表格导入的多个项或多条数据。然后,外部数据选择器组件204与数据源建立连接,并下载指定的多条数据。在接收到该多条数据时,外部数据选择器组件204启动非模态外部数据窗口208,并在非模态外部数据窗口208中作为二维表格显示下载的多条数据。在某些实施例中,外部数据选择器组件204支持并利用MicrosoftActiveX数据对象(ADO)来连接和查询外部数据源214,以查找用户指定的多条外部数据。本领域的技术人员应理解,外部数据选择器组件204并不限于使用ADO,而是可以支持和利用其他数据访问技术以便与外部数据源214通信并从中导入数据。
外部数据链接组件206一般用于将来自非模态外部数据窗口208的数据链接到图中的新形状和现有形状。在某些实施例中,外部数据链接组件206创建链接、移除链接、创建自定义属性、移除自定义属性,以及执行其他动作,以便于将来自数据源的数据链接到图中的形状。外部数据链接组件206在下面进一步描述。
非模态外部数据窗口208一般担当用于行链接到图中的新形状和现有形状的主接口。非模态外部数据窗口208允许用户在窗口外交互(如,与次级窗口或主窗口),即使是显示了非模态外部数据窗口208时也可以这样。例如,用户可以在非模态外部数据窗口208和任何其他可用窗口之间切换。在某些实施例中,非模态外部窗口208便于数据连接图的导航。例如,当用户使用定点设备(如鼠标),并双击非模态外部数据窗口208中链接的行时,该工具程序使链接的形状显示在绘图程序202的绘图表面上。非模态外部数据窗口208还通过例如可视指示符来提供链接状态的概要。
映射器组件210一般用于允许用户控制数据列到自定义属性的映射。刷新组件212一般用于刷新来自外部数据源214的数据。
上述工具程序的组件只是说明性的,且该工具程序可以包括未描述的其他组件和模块。此外,组件和模块中提供的功能可以被组合成更少的组件和模块中,或被进一步划分成额外的组件和模块。
外部数据源214一般担当被导入到非模态外部数据窗口208中并在其中显示的外部数据的存储库。在一个实施例中,外部数据源214可以是支持ADO的数据库管理系统,如作为例子,可以是MicrosoftAccess或其他关系型数据源。本领域的技术人员应理解,外部数据源214可以支持和利用其他数据访问技术与外部数据选择器组件205通信并向其提供数据。
网络216是便于在例如所连接的计算机之间传输电子内容的通信链路。在一个实施例中,网络216包括因特网。应理解,网络216可以包括一种或多种其他类型的网络,如局域网、广域网、点对点拨号连接等等。还应理解,网络216可以不存在。例如,外部数据选择器组件204和外部数据源214都可以驻留在同一计算系统中并通过通常在计算系统中得到支持的各种通信机制通信,这些通信机制如进程间通信、远程函数调用、内部通信总线等等。
图3为显示画面,示出了示例非模态外部数据窗口208。在一个实施例中,非模态外部数据窗口208停靠在绘图程序202的文档窗口(如提供绘图表面的窗口)底部,并可以移动、改变大小、关闭和检索。当非模态外部数据窗口208启动时活动的文档窗口仍然保持活动,非模态外部数据窗口208就可见。此外,如果使用多个文档窗口来查看同一文档(如,图),则每个文档窗口都有其自己的非模态外部数据窗口208。此外,关闭非模态外部数据窗口208不会影响图或到任何数据源的连接。
如所述,非模态外部数据窗口208包括数据源选项卡302和数据网格304。数据源选项卡302一般用于提供在多个连接的数据源之间切换的能力。例如,点击数据源选项卡会导致数据网格304的内容改变,以反映来自选中的数据源的数据。数据网格304一般用于提供来自其数据源选项卡302当前被选中的外部数据源的数据的表格视图。在一个实施例中,数据网格304包括链接图标306、列标题308和数据单元格310。
在一个实施例中,对每一行数据单元格310提供其自己的链接图标306,指示该行是否已被链接。如所示,连接的链指示该行当前已被链接,而断裂的链指示该行未被链接。在图3中的示例非模态外部数据窗口208中,具有列名“Marketing Plan(营销规划)”的行当前已被链接,而具有列名“Documentation(文档化)”的行当前未被链接到任何形状。
列标题308一般用于显示活动的列的名称。在一个实施例中,列标题308中的文本是来自数据源的列的原始名称。在图3的示例非模态外部数据窗口208中,如列标题308中的文本所示的活动列的名称是“Name(名称)”、“Owner(所有者)”、“Completed Days(完成天数)”、“Total Time(总时间)”、“Due Date(到期日)”、“On Track(进行中)”和“Link(链接)”,且这些名称可以是来自数据源的列的原始名称。
在某些实施例中,该工具程序可以向用户提供改变列名的能力。例如,该工具程序可以提供用户可以启动的对话框,且用户可以通过该对话框选择列并编辑列名。编辑的或变换的列名显示在列标题308中,但不反向反映到数据源中。此外,当刷新链接时,编辑的列名称反映在自定义属性的标签或名称中。
该工具程序还可以向用户提供激活和停用列的能力,从而使列显示或者不显示在非模态外部数据窗口208中。在一个实施例中,激活/停用列还指示该列是否参与链接。停用的列在链接期间并不应用于形状。例如,该工具程序可以提供列出数据源中的列的对话框窗口,且用户可以通过该对话框窗口指定或选择要激活并显示在非模态外部数据窗口208中的列。此外,在数据源活动的任何时候(即,数据源的数据源选项卡302当前被选中),用户可以使用对话框窗口并修改对活动列的选择。该工具程序在非模态外部数据窗口208中反映这些改变。
图4根据某些实施例,示出该工具程序用于将来自外部数据源的数据导入到非模态外部数据窗口208的方法400的流程图。作为例子,负责大型开发项目的项目经理可以在数据连接的图中呈现当前在电子表格(如Excel电子表格)中维护的项目状态信息,以便改进项目信息的焦点和可读性。在步骤402,该项目经理在计算系统上执行绘图程序202的实例。
在步骤404,项目经理激活数据选择器特征,如该工具程序的外部数据选择器组件204。在步骤406,项目经理指定外部数据源。例如,项目经理可以使用外部数据选择器组件204并指定Excel电子表格程序和包含项目信息的数据文件的位置和名称。
在步骤408,该工具程序导入来自指定数据源的数据。例如,外部数据选择器组件204可以与主存电子表格程序的计算系统建立连接,并请求或查询指定的数据文件。在步骤410,该工具程序在非模态窗口中作为二维表格显示导入的数据一即,交互的显示。例如,该工具程序可以启动非模态外部数据窗口208的实例,并在非模态外部数据窗口208中作为二维表格向项目经理显示导入的项目信息。
本领域的技术人员应理解,对在此描述的本方法和其他方法和过程,在示例性流程图中执行的功能可以按不同的顺序来实现。此外,流程图中描述的步骤只是示例性的,这些步骤中的一部分可以是可任选的、可组合成更少的步骤、或被扩展为额外的步骤而不偏离本发明的本质。
图5根据某些实施例,示出了该工具程序用于通过非模态外部数据窗口208中的行在图中创建新形状的方法500的流程图。继续项目经理的例子,该项目经理可能想通过数据连接图(如连接的图表)显示项目信息,以便改进信息的可读性。此外,因为连接图并不存在,从而需要绘制,所以项目经理可能想通过将显示在非模态外部数据窗口208中的多行信息拖曳到绘图表面来创建将由连接图构成的形状,以创建连接图。
在步骤502,项目经理使用定点设备(如鼠标),并选择非模态外部数据窗口208中的一行或多行,并将所选择的行拖曳到绘图表面的空白部分之上。在步骤504,该工具程序检查以确定当前是否选择了形状窗口中的形状母版。绘图程序202通常提供包含提供给用户用于绘制的形状母版或形状模板的形状窗口。
如果当前没有选择形状母版,则在步骤506,该工具程序在绘图表面上对每个拖曳的行创建默认母版形状(如矩形)的实例。在项目经理例子中,假设项目信息如图3的示例非模态外部数据窗口208中所示,且项目经理选择具有列名“Marketing Plan(营销规划)”和“Risk Plan(风险规划)”的行并将其拖曳到绘图表面的空白部分之上,则该工具程序在绘图表面上创建两个单独的矩形实例。该工具程序将一个矩形实例关联到具有列名“Marketing Plan(营销规划)”的行,并将另外一个矩形实例关联到具有列名“Risk Plan(风险规划)”的行。
否则,如果当前选择了形状母版,则在步骤508,该工具程序在绘图表面上对每个拖曳的行创建每个所选择的母版形状的一个实例。继续项目经理的例子,假设当前选择了两个母版形状,如矩形和正方形,且项目经理选择具有列名“MarketingPlan(营销规划)”和“Risk Plan(风险规划)”的行(构成图3中的示例非模态外部数据窗口208)并将其拖曳到绘图表面的空白部分之上,则该工具程序在绘图表面上创建两个单独的矩形实例和两个单独的正方形实例。该工具程序将一个矩形实例关联到具有列名“Marketing Plan(营销规划)”的行,将另一个矩形实例关联到具有列名“Risk Plan(风险规划)”的行,将一个正方形实例关联到具有列名“Marketing Plan(营销规划)”的行,并将另一个正方形实例关联到具有列名“RiskPlan(风险规划)”的行。因此,每个行都与一个矩形实例和一个正方形实例相关联。
在步骤506或步骤508中在绘图表面上创建一个或多个形状之后,该工具程序对在绘图表面上创建的每个形状(步骤510)执行步骤512,直到处理完所有在绘图表面上创建的形状(步骤514)。在步骤512,该工具程序将形状链接到非模态外部数据窗口208中与其对应的行,并继续处理在绘图表面上创建的下一形状(步骤514)。从上面的步骤506继续项目经理的例子,该工具程序将一个矩形实例链接到具有列名“Marketing Plan(营销规划)”的行,并将另一个矩形实例链接到具有列名“Risk Plan(风险规划)”的行。链接操作在下面结合附图7中的方法700进一步描述。
图6根据某些实施例,示出了该工具程序用于手动地将非模态外部数据窗口208中的行链接到图中的现有形状的方法600的流程图。在上述项目经理例子中,项目经理可能先前已经创建了用于改进项目信息可读性的图。此外,此图可以包括当前显示在绘图表面上的矩形。
在步骤602,项目经理使用定点设备,并选择非模态外部数据窗口208中的一行或多行,并将所选择的行拖曳到显示在绘图表面上的现有形状之上。在项目经理的例子中,假设项目信息如图3的示例非模态外部数据窗口208中所示,项目经理可能已选择了具有列名“Marketing Plan(营销规划)”和“Risk Plan(风险规划)”的行并将其拖曳到当前显示在绘图表面上的矩形之上。
然后,从最上面的选择的行开始并顺序向下处理(步骤604),该工具程序执行步骤606,直到处理完所有选择的行(步骤608)。在步骤606,该工具程序将形状链接到非模态外部数据窗口208中当前活动的行(即,当前正被处理的选择和拖曳的行),并继续处理下一个拖曳的行(步骤608)。继续项目经理的例子,该工具程序首先将最上面的选择的行(具有列名“Marketing Plan(营销规划)”的行)标识为当前活动的行,并将此行链接到该矩形。然后,该工具程序将下一个最上面的行(具有列名“Risk Plan(风险规划)”的行)标识为当前活动的行,并将此行链接到该矩形。该工具程序继续以此方式进行处理,直到处理完所有选择和拖曳的行。
在其他实施例中,该工具程序可以提示用户确定用户是否希望替换现有的链接。例如,该工具程序可呈现以具有如下选项的对话框(1)替换;(2)不替换;(3)总是替换;及(4)总是不替换。在另外的实施例中,该工具程序可以支持“手动链接”,其中,用户首先从绘图页中选择形状和/或子形状,再选择非模态外部数据窗口208中的一个或多个行,然后选择将行链接到选择的形状的选项。
本领域的技术人员应理解,项目经理可以选择任何数量的行,并将所选择的行拖曳到绘图表面的空白部分或图中的形状之上。此外,项目经理可以根据需要使用不同组合及数量的行和形状来重复选择和拖曳操作。
在某些实施例中,该工具程序允许用户选择一行或多行并将其拖曳到图中的多个形状上。在此,该工具程序建立选择的多个形状的顺序,并将拖曳的行中最上面一行链接到选择中的第一个形状,将拖曳的行中下一个最上面的行链接到选择中的下一个形状,并以此类推。如果没有下一个最上面的行,则该工具程序循环这些行,并将拖动的行中最上面的行链接到选择中的下一个形状,并以此类推,直到每个选择的形状都已被链接。在项目经理的例子中,假设绘图表面上显示了三个形状,即矩形、正方形和梯形,项目经理可能已经选择了这三个形状并将具有列名“Marketing Plan(营销规划)”和“Risk Plan(风险规划)”的行拖曳到绘图表面上所选择的形状之上。在此实例中,该工具程序可以按矩形、正方形和梯形的顺序对这些形状排序,并将最上面的选择的行(具有列名“Marketing Plan(营销规划)”的行)链接到矩形,将下一个最上面的选择的行(具有列名“Risk Plan(风险规划)”的行)链接到正方形(即序列中的下一个形状)。因为没有下一个最上面的行,所以工具程序循环这些行,并将下一个最上面的选择的行(具有列名“Marketing Plan(营销规划)”的行)链接到梯形。
图7根据某些实施例,示出了该工具程序用于执行链接操作的方法700的流程图。具体地,方法700示出了行和图中的形状之间的链接。在某些实施例中,该工具程序的外部数据链接组件206只将活动的列(即,当前显示在非模态外部数据窗口208中的列)链接到图中的形状。在步骤702,外部数据链接组件206移除形状和同一数据源的另一个行之间的任何现有链接。在一个实施例中,对移除了其链接的每个行,外部数据链接组件206可以检查以确定该行是否链接到任何其他形状,且如果该行未链接到任何其他形状,则外部数据链接组件206在该行的链接图标306中指示该行当前未链接。
然后,对要链接的行中的每个活动的列(步骤704),外部数据链接组件206执行步骤706至710,直到处理完该行中所有活动的列(步骤712)。在步骤706,外部数据链接组件206检查以确定该形状当前是否具有其标签或名称与该列的名称相同的自定义属性。如果该形状当前不具有其名称与该列相同的自定义属性,则在步骤708,外部数据链接组件206对该形状创建自定义属性,并将与该列相同的名称赋予新创建的自定义属性。
如果在步骤706,外部数据链接组件206确定该形状当前具有其名称与该列的名称相同的自定义属性,或在步骤708对该形状创建自定义属性并赋予它与该列相同的名称之后,则在步骤710,外部数据链接组件206用来自该列的值(即,对应于该列的数据单元格310)来填充该自定义属性,并继续处理下一个活动列(步骤712)。在其他实施例中,数据类型也可以用作次级测试,以确定是否应使用现有的属性并用匹配列的行中的数据填充它。在链接行中的活动列之后,外部数据链接组件206在该行的链接图标306中指示该行当前已链接。
从上面的步骤606继续项目经理的例子,外部数据链接组件206需要首先将矩形链接到最上面的选择的行,即具有列名“Marketing Plan(营销规划)”的行,然后将同一矩形链接到下一个最上面选择的行,即具有列名“RiskPlan(风险规划)”的行。在处理最上面的行时,如果该矩形当前链接到非模态外部数据窗口208中的任何其他记录(如,具有列名“Manufacturing(制造)”或“Quality Testing(质量检验)”的记录中的任何一条),则外部数据链接组件206移除此链接。具有列名“Documentation(文档化)”和“Procure Contractors(采购承包商)”的记录如它们各自的链接图标306中所示的未链接。然后,外部数据链接组件208将该矩形链接到最上面的行。在链接操作之后,该矩形的自定义属性及其值可以如下所示
自定义属性值Name Marketing PlanOwnerCharlesCompleted Days 40Total Time 45Due Date 4/30/2004On Track TRUELink http//intranet/Marketing在链接该矩形到最上面的行之后,外部数据链接组件206将该矩形链接到下一个最上面的选择的行。在处理下一个最上面的选择的行时,外部数据链接组件206首先移除该矩形和具有列名“Marketing Plan(营销规划)”的行之间当前现有的链接。在某些实施例中,外部数据链接组件206可以在每个自定义属性旁边提供该链接不再存在且该数据(即,显示的值)已失效(如数据可能不再是最新的)的指示。在其他实施例中,外部数据链接组件206可以移除或删除通过已移除的链接创建的一个或多个自定义属性。然后,外部数据链接组件206将该矩形链接到下一个最上面的行。在链接操作之后,该矩形的自定义属性及其值可以如下所示自定义属性值NameRisk PlanOwner EdwardCompleted Days 30Total Time 30Due Date5/15/2004On TrackTRUELinkhttp//intranet/Risk在某些实施例中,该工具程序允许用户将单个形状到来自多个数据源的多个记录。继续项目经理的例子,项目经理那时可能已使用外部数据选择器组件204,并导入了包含其他项目信息的另一个Excel数据文件。例如,项目信息可包含联系人信息,如每个所有者的办公室位置和电话号码,如下所示

然后,项目经理可能已选择具有列所有者“Edward”的行并将其拖曳到当前显示在绘图表面上的矩形,使得外部数据链接组件206将该矩形链接到该行。在链接操作之后,该矩形的自定义属性及其值可以如下所示自定义属性值Name Risk PlanOwnerEdwardCompleted Days 30Total Time 30Due Date 5/15/2004On Track TRUELink http//intranet/RiskOffice Location Bldg 1-14Phone Number (123)456-2753此外,外部数据链接组件206并不移除先前已存在的链接,因为该链接是在该矩形和不同的数据源的行之间的。因此,作为先前的链接的结果创建的自定义属性在最近的链接操作之后保持链接。此外,外部数据链接组件206不创建具有名称“Owner”的重复的自定义属性,因为该自定义属性已经存在。重复的自定义属性(即,具有名称“Owner”的自定义属性)的值是来自最近链接的数据源的值(即,每个所有者的联系人信息的项目信息)。在其他实施例中,外部数据链接组件206可以不更新重复的自定义属性的值,但是保持先前已存在的值。
图8根据某些实施例,示出了该工具程序用于刷新链接的方法800的流程图。在某些实施例中,该工具程序可以提供用户可以用于启动刷新操作的按钮或其他激活方法。作为例子,用户可以选择图中的形状并使用定点设备按下刷新按钮来启动刷新操作。如果选择的形状链接到来自多个数据源的多行数据,则该工具程序向用户提供选择单个数据源来刷新的能力。例如,该工具程序可以在窗口中列出多个数据源,并允许用户选择单个数据源。在其他实施例中,该工具程序可以顺序地一个接一个刷新到多个数据源的链接。
对与选择的形状相关联的每个自定义属性(步骤802),该工具程序执行步骤804至816,直到处理完与选择的形状相关联的所有自定义属性(步骤818)。在步骤804,该工具程序检查以确定自定义属性中的值是否与来自数据源的原始值相同。如果不相同,则自定义属性值保持不变,且该工具程序继续处理下一个自定义属性(步骤818)。
否则,如果自定义属性值与来自数据源的原始值相同,则在步骤806,该工具程序确定链接到自定义属性的列当前是否不活动,且因此不显示在非模态外部数据窗口208中。如果链接的列当前不是活动列,则在步骤808,该工具程序指示自定义属性的值失效,并继续处理下一个自定义属性(步骤818)。
否则,如果链接的列当前是活动列,则在步骤810,该工具程序确定自定义属性的值是否由例如用户改变。如果自定义属性的值未改变,则在步骤818,该工具程序用链接的列在数据源中的值更新或刷新自定义属性的值,并继续处理下一个自定义属性(步骤818)。
否则,如果自定义属性的值已改变,则在步骤812,该工具程序确定用户是否选择更新自定义属性的值。如果该工具程序确定用户选择更新自定义属性的值,则在步骤816,该工具程序用链接的列在数据源中的值更新自定义属性的值,并继续处理下一个自定义属性(步骤818)。否则,在步骤814,该工具程序保持自定义属性的当前值,并继续处理下一个自定义属性(步骤818)。
通过上述说明,应理解,在此为了演示说明已描述了本发明的多个实施例,但是可以做出各种修改而不偏离本发明的精神和范围。因此,除了符合所附权利要求书中明确要求保护的元素之外,本发明不受其他限制。
权利要求
1.一种计算机可读存储介质,其内容使计算机执行图形可视化程序的实例,所述图形可视化程序具有绘图表面,并可用于在所述绘图表面上显示图;在所述图形可视化程序的实例内,导入来自第一外部数据源的数据;以及在所述图形可视化程序的实例内的交互显示中,将所导入的来自第一外部数据源的数据作为第一二维表格显示,所述第一二维表格具有零个、一个或多个行和零个、一个或多个列,使得所述交互显示中的来自所述二维表格的至少一个行可以与图中预先存在的形状或新形状相关联。
2.如权利要求1所述的计算机可读存储介质,其特征在于,还包括内容,所述内容使计算机在所述图形可视化程序的实例内,导入来自第二外部数据源的数据;在所述图形可视化程序的实例内的所述交互显示中,将所导入的来自第二外部数据源的数据作为第二二维表格显示,使得所述交互显示或者显示所导入的来自所述第一外部数据源的数据,或者显示所导入的来自所述第二外部数据源的数据。
3.如权利要求1所述的计算机可读存储介质,其特征在于,对所述交互显示中的每个行提供链接图标。
4.如权利要求1所述的计算机可读存储介质,其特征在于,所述交互显示中的至少一个列可以被排除。
5.如权利要求1所述的计算机可读存储介质,其特征在于,所述链接是在形状的属性和所述交互显示中的二维表格的行中的列的值之间的。
6.如权利要求5所述的计算机可读存储介质,其特征在于,所述属性和所述列具有相同的名称。
7.如权利要求1所述的计算机可读存储介质,其特征在于,通过下述动作,使得来自所述交互显示中的二维表格的多个行可以与图中的多个新形状相关联在所述绘图表面上对每个行创建新形状的实例,以及对每个形状,将所述形状链接到其对应的行。
8.如权利要求1所述的计算机可读存储介质,其特征在于,通过下述动作,使得来自所述交互显示中的二维表格的多个行可以与图中的多个现有的形状相关联对所述多个形状建立顺序;对所述多个行建立顺序;以及从第一个形状和第一个行开始,并按顺序处理,直到所述多个形状全部都被关联,同时根据需要循环所述多个行,将所述形状链接到所述行。
9.一种计算机可读存储介质,其内容通过下述动作,使图形可视化程序将来自外部数据源的数据链接到图中的形状在交互显示的数据网格中将来自第一外部数据源的数据作为第一二维表格显示;以及响应于所述交互显示的数据网格中的所述第一二维表格的一行或多行被拖曳到绘图表面的空白部分之上对被拖曳到所述绘图表面之上的每个行,在所述绘图表面上创建形状实例;以及对在所述绘图表面上创建的每个形状,通过对所述行中的每个列执行下述动作,将所述形状链接到所述行响应于确定存在具有与所述列的名称相同的名称的形状的属性,用来自该列的值填充该属性;响应于确定不存在具有与所述列的名称相同的名称的形状的属性,对该形状创建具有与所述列的名称相同的名称的新属性,并用来自该列的值填充所述新属性。
10.如权利要求9所述的计算机可读存储介质,其特征在于,还包括内容,所述内容通过下述动作,使所述图形可视化程序将来自外部数据源的数据链接到图中的形状响应于所述交互显示的数据网格中的第一二维表格的第一行被拖曳到显示在所述绘图表面上的现有的形状之上,通过对所述第一行中的每个列执行下述动作,将所述现有的形状链接到所述第一行响应于确定存在具有与所述列的名称相同的名称的现有形状的属性,用来自该列的值填充该属性;以及响应于确定不存在具有与所述列的名称相同的名称的现有形状的属性,对所述现有形状创建具有与所述列的名称相同的名称的新属性,并用来自该列的值填充所述新属性。
11.如权利要求9所述的计算机可读存储介质,其特征在于,还包括内容,所述内容通过执行下述动作,使所述图形可视化程序将来自外部数据源的数据链接到图中的形状响应于所述交互显示的数据网格中的第一二维表格的第二行被拖曳到显示在所述绘图表面上的现有的形状之上,通过执行下述动作,将所述现有的形状链接到所述第二行移除所述现有形状和所述第一行之间的链接;以及对所述第二行中的每个列响应于确定存在具有与所述列的名称相同的名称的现有形状的属性,用来自该列的值填充该属性;以及响应于确定不存在具有与所述列的名称相同的名称的现有形状的属性,对所述现有形状创建具有与所述列的名称相同的名称的新属性,并用来自该列的值填充所述新属性。
12.如权利要求11所述的计算机可读存储介质,其特征在于,移除所述现有形状和所述第一行之间的链接还使视图中的每个属性提供显示各属性的值的指示。
13.如权利要求11所述的计算机可读存储介质,其特征在于,所述现有形状和所述第一行之间的链接是通过移除作为所述现有形状和第一行之间的链接的结果创建的自定义属性来移除的。
14.如权利要求9所述的计算机可读存储介质,其特征在于,所述链接只是所述行中活动的列的链接。
15.一个或多个共同包含非模态外部数据窗口的计算机存储器,所述非模态外部数据窗口可用于作为图形可视化程序的部分显示,并用于显示二维表格,所述二维表格包括至少一行和至少一个活动的列,使得通过选择一行并将所述行从所述非模态外部数据窗口中拖曳到所述图形可视化程序的绘图表面之上,可以将所述行关联到图中的形状。
16.如权利要求15所述的计算机存储器,其特征在于,所述链接是响应于将所述行拖曳到所述绘图表面的空白部分并创建所述形状来做出的。
17.如权利要求15所述的计算机存储器,其特征在于,所述链接是响应于将所述行拖曳到显示在所述绘图表面上的形状来做出的。
18.如权利要求15所述的计算机存储器,其特征在于,所述链接是通过对所述行中的每个活动列,用该列的值填充所述形状的属性来做出。
19.一种图形可视化程序中的计算机实现的方法,用于将图中的形状链接到来自第一数据源的一行数据,所述方法包括对来自第一数据源的要关联于形状的每行数据移除所述形状和来自所述第一数据源的另一行数据之间的任何现有链接;以及对行中的每个活动列,填充具有与所述活动列的名称相同的名称的形状属性。
20.如权利要求19所述的方法,其特征在于,所述填充包括创建具有与所述活动列的名称相同的名称的属性。
21.如权利要求19所述的方法,其特征在于,来自所述第一数据源的数据行作为二维表格在交互显示中显示。
22.如权利要求19所述的方法,其特征在于,来自所述第一数据源的数据可以通过网络来检索。
23.如权利要求19所述的方法,其特征在于,所述第一数据源是数据库。
24.一种图形可视化程序中的计算机实现的方法,用于刷新图中的形状和来自数据源的一行数据之间的链接,所述方法包括对由到数据源的链接填充的每个形状属性如果所述数据源中关联于所述属性的行中的列被移除,则指示所述属性的值失效;及如果所述数据源中关联于所述属性的行中的列存在并活动,则用来自该列的值更新所述属性的值。
25.如权利要求24所述的方法,其特征在于,还包括在用来自所述列的值更新所述属性的值之前,确定所述属性的值是否已改变;响应于确定所述属性的值已改变,提供覆盖或者保留改变的属性值的选项;以及响应于选择所述覆盖选项,用来自所述列的值更新所述属性的值。
26.如权利要求25所述的方法,其特征在于,还包括响应于选择所述保留选项,保留所述改变的属性值。
27.如权利要求24所述的方法,其特征在于,指示所述属性值失效是通过基本上接近所述属性的可视指示来进行的。
全文摘要
提供一种用于将来自外部数据源的数据链接到图中的形状的工具程序。该工具程序被实现为图形可视化程序的组件,并提供可用于通过二维表格显示来自数据源的数据的非模态数据窗口。用户可以使用该工具程序导入来自数据源的数据,并在非模态数据窗口中显示导入的数据。然后用户可以使用非模态数据窗口来选择非模态数据窗口中显示的行,并将它们拖曳到图形可视化程序的绘图表面上的形状之上,以将拖曳的行链接到形状。用户还可以将非模态数据窗口中显示的行拖曳到绘图表面的空白部分之上,以在绘图表面上创建形状,并将这些行链接到所创建的形状。
文档编号G06F17/30GK1790327SQ20051012504
公开日2006年6月21日 申请日期2005年11月16日 优先权日2004年12月15日
发明者M·T·安纳雷斯, A·马休, H·J·麦克阿利斯特, H·A·姆森 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1