09 2010 档案
摘要:
之前我们已经在第7部分到第12部分学习了这方面的内容,当时我们创建了表单操作工作流 。但不要忽略这一篇。因为这里会提到很多需要大家特别注意的地方。在上一篇中,Terminated 和Resigned 按钮都创建了出来,但现在,他们仍然和编辑模板中的保存链接一样。 那么,让我们来继续完成它们的修改。 1.在 SharePoint Designer (SPD)中, 右键点击Terminated并选择 ...阅读全文
之前我们已经在第7部分到第12部分学习了这方面的内容,当时我们创建了表单操作工作流 。但不要忽略这一篇。因为这里会提到很多需要大家特别注意的地方。在上一篇中,Terminated 和Resigned 按钮都创建了出来,但现在,他们仍然和编辑模板中的保存链接一样。 那么,让我们来继续完成它们的修改。 1.在 SharePoint Designer (SPD)中, 右键点击Terminated并选择 ...阅读全文摘要:
上一次我们复制了默认的编辑模版,作为我们的romove模版的原始内容。因此,它最初的样子和编辑模版类似。Remove模版(看起来和Edit模版一样)现在,我们需要对其进行一些修改:1.我们会继续延续前文中的做法,通过颜色编码的主题样式来区分不同的状态,将remove标识为红色。2.由于我们是删除记录,我们希望用户更改的唯一的栏就是Effective Data ,该值将在删除前记录到审计列表中 。 ...阅读全文
上一次我们复制了默认的编辑模版,作为我们的romove模版的原始内容。因此,它最初的样子和编辑模版类似。Remove模版(看起来和Edit模版一样)现在,我们需要对其进行一些修改:1.我们会继续延续前文中的做法,通过颜色编码的主题样式来区分不同的状态,将remove标识为红色。2.由于我们是删除记录,我们希望用户更改的唯一的栏就是Effective Data ,该值将在删除前记录到审计列表中 。 ...阅读全文摘要:
就像一场有很多道菜的盛宴,本系列的范围已从可口过渡到美味,从面包屑转到了全麦面包,从馅饼发展到了羊排,从水换成了酒。但愿,这些能够勾起你的食欲,使你更想探索SharePoint DVWP,学习它到底能做什么,探索更多的可能性。好吧,准备好您的刀叉。 我们有一些烤肉要上来了(是的!同时还有甜点!)如果你还没有准备好,现在有一个好机会可以提升你的XSLT技能,来学习Marc Anderson的...阅读全文
就像一场有很多道菜的盛宴,本系列的范围已从可口过渡到美味,从面包屑转到了全麦面包,从馅饼发展到了羊排,从水换成了酒。但愿,这些能够勾起你的食欲,使你更想探索SharePoint DVWP,学习它到底能做什么,探索更多的可能性。好吧,准备好您的刀叉。 我们有一些烤肉要上来了(是的!同时还有甜点!)如果你还没有准备好,现在有一个好机会可以提升你的XSLT技能,来学习Marc Anderson的...阅读全文摘要:
父子关系在现实场景中很常见。在SharePoint里,表现为两个SharePoint列表通过一个位于子列表中的查阅项字段进行关联。通过这种形式,就可以在列表间建立一个父子关系。我们往往需要实现在父列表表单中(DispForm.aspx,EditFrom.aspx,NewForm.aspx)展现子项。为此,我创建了一个SharePoint自定义字段类型:“ParentChildrenField”...
阅读全文
父子关系在现实场景中很常见。在SharePoint里,表现为两个SharePoint列表通过一个位于子列表中的查阅项字段进行关联。通过这种形式,就可以在列表间建立一个父子关系。我们往往需要实现在父列表表单中(DispForm.aspx,EditFrom.aspx,NewForm.aspx)展现子项。为此,我创建了一个SharePoint自定义字段类型:“ParentChildrenField”...
阅读全文摘要:
启用审批的SharePoint列表,如果我们通过对象模型修改其中一条已批准的列表项,Update后会导致该列表项回到待定状态。不过好在对象模型里有强大的SystemUpdate,可以不动声色的修改列表项。可是,如果你是通过SharePoint Web Service中的Lists.asmx的UpdateListItems进行的修改,就没有这么幸运了。引用SharePoint SDK中的描述:每个 ... 阅读全文
启用审批的SharePoint列表,如果我们通过对象模型修改其中一条已批准的列表项,Update后会导致该列表项回到待定状态。不过好在对象模型里有强大的SystemUpdate,可以不动声色的修改列表项。可是,如果你是通过SharePoint Web Service中的Lists.asmx的UpdateListItems进行的修改,就没有这么幸运了。引用SharePoint SDK中的描述:每个 ... 阅读全文摘要:
编辑列表项时通常会必简单的查看要包含更多字段。列表默认视图中并不总显示该项的所有字段。但当我们进到编辑状态时,却需要访问所有的字段...。或者,最起码是所有你需要编辑的字段。在我们的Full-time Employee(FTE)例子中,我们准备通过Location来过滤雇员,从而实现在某个特定地点对应的页面上只显示该地点的雇员。因此,在该页面上我们不需要再次显示出Location字段。在每一个页面...阅读全文
编辑列表项时通常会必简单的查看要包含更多字段。列表默认视图中并不总显示该项的所有字段。但当我们进到编辑状态时,却需要访问所有的字段...。或者,最起码是所有你需要编辑的字段。在我们的Full-time Employee(FTE)例子中,我们准备通过Location来过滤雇员,从而实现在某个特定地点对应的页面上只显示该地点的雇员。因此,在该页面上我们不需要再次显示出Location字段。在每一个页面...阅读全文摘要:
Access Services面临的一个挑战是要确保各种对象背后的逻辑在Access本身和SharePoint网站所宿主的Access web数据库之间的可移植性。Access中使用用宏来实现逻辑。具体到Access Services,这意味着我们需要在一个Web浏览器中使用Access内容中各种对象背后的VBA。 以此类推,对于Access开发人员的我们就需要面临新的挑战:如何在Web上实现客户...阅读全文
Access Services面临的一个挑战是要确保各种对象背后的逻辑在Access本身和SharePoint网站所宿主的Access web数据库之间的可移植性。Access中使用用宏来实现逻辑。具体到Access Services,这意味着我们需要在一个Web浏览器中使用Access内容中各种对象背后的VBA。 以此类推,对于Access开发人员的我们就需要面临新的挑战:如何在Web上实现客户...阅读全文摘要:
回顾在本系列第14部分中我们提到,“如何将PreSaveAction()与jQuery配合使用”。PreSaveAction()允许我们在保存记录前做一些事情,我快速的列了一些在现实场景中可能会通过jQuery做的事情。我们使用的例子是关于往另一个列表中写入当前列表的变更信息的一个审计跟踪的例子。最终实现的效果是我们有两块体现真实信息的地方:(1)当前视图(2)一个关于变更...阅读全文
回顾在本系列第14部分中我们提到,“如何将PreSaveAction()与jQuery配合使用”。PreSaveAction()允许我们在保存记录前做一些事情,我快速的列了一些在现实场景中可能会通过jQuery做的事情。我们使用的例子是关于往另一个列表中写入当前列表的变更信息的一个审计跟踪的例子。最终实现的效果是我们有两块体现真实信息的地方:(1)当前视图(2)一个关于变更...阅读全文摘要:
很多人指出最近的扩展DVWP系列文章内容越来越透彻了。我理解,先前的部分文章显得过于基础。而且,部分文章并不仅仅是专注于DVWP。但,我们是为了该内容后面紧接着的内容作铺垫,因此,从我们最终的目的角度出发,这些内容还是必要的。靠智慧来盖房子(或搭网站)Jim Bob Howard,也就是扩展DVWP系列的原作者,在数年前曾经进行过大量的教育方法学研究,并渐渐认识到了智慧与语法学,修辞学,逻辑学等被...阅读全文
很多人指出最近的扩展DVWP系列文章内容越来越透彻了。我理解,先前的部分文章显得过于基础。而且,部分文章并不仅仅是专注于DVWP。但,我们是为了该内容后面紧接着的内容作铺垫,因此,从我们最终的目的角度出发,这些内容还是必要的。靠智慧来盖房子(或搭网站)Jim Bob Howard,也就是扩展DVWP系列的原作者,在数年前曾经进行过大量的教育方法学研究,并渐渐认识到了智慧与语法学,修辞学,逻辑学等被...阅读全文摘要:
在我们实现级联下拉框功能时,创建关系列表很重要,它可以将网站栏彼此关联起来。关系列表的标题栏对于实现级联来说无关紧要。然而,从人性话角度考虑,如果有标题的话,会使维护工作变得更容易。上一次,我们通过jQuery实现了标题内容的自动创建。我知道,并不是所有的人都跟我一样喜欢jQuery。那么,这里有一个好消息...你可以通过工作流实现几乎同样的效果。使用工作流来完成标题的创建当然,我们会用Share... 阅读全文
在我们实现级联下拉框功能时,创建关系列表很重要,它可以将网站栏彼此关联起来。关系列表的标题栏对于实现级联来说无关紧要。然而,从人性话角度考虑,如果有标题的话,会使维护工作变得更容易。上一次,我们通过jQuery实现了标题内容的自动创建。我知道,并不是所有的人都跟我一样喜欢jQuery。那么,这里有一个好消息...你可以通过工作流实现几乎同样的效果。使用工作流来完成标题的创建当然,我们会用Share... 阅读全文摘要:
当我们填充关系列表数据时,要保证网站栏没有设成必填项,这样才能在数据表视图中一次填充一栏数据。当时我们也讨论了在这种情况下通过工作流来自动填写标题会遇到的问题。我们甚至无法通过一个计算栏来解决该问题,因为查阅项类型的栏在计算栏设置页面上是不可见的。但是,当我们需要维护这个列表时会是怎么一个情况?如果你是用一个完整的数据清单一次性的对某个下拉框列表进行更新,那么你要做的事和前面讨论的一样。但如果你是...阅读全文
当我们填充关系列表数据时,要保证网站栏没有设成必填项,这样才能在数据表视图中一次填充一栏数据。当时我们也讨论了在这种情况下通过工作流来自动填写标题会遇到的问题。我们甚至无法通过一个计算栏来解决该问题,因为查阅项类型的栏在计算栏设置页面上是不可见的。但是,当我们需要维护这个列表时会是怎么一个情况?如果你是用一个完整的数据清单一次性的对某个下拉框列表进行更新,那么你要做的事和前面讨论的一样。但如果你是...阅读全文摘要:
上一次,我们通过几个简单的步骤实现了级联下拉框——一个下拉框可以过滤另一个的可选项。但是,如果我们有三个下拉框需要做级联该怎么做呢?比如,国家-省-市。或者工作地点-组-职位。接下来的步骤相对于前面介绍的步骤来说有点重复:1、创建一个查阅项列表并填充数据2、创建一个网站栏,类型为查阅项,信息来源指向该列表3、创建一个关系列表,用于存放新的第三级项和第二级项的对应关系。4、填..阅读全文
上一次,我们通过几个简单的步骤实现了级联下拉框——一个下拉框可以过滤另一个的可选项。但是,如果我们有三个下拉框需要做级联该怎么做呢?比如,国家-省-市。或者工作地点-组-职位。接下来的步骤相对于前面介绍的步骤来说有点重复:1、创建一个查阅项列表并填充数据2、创建一个网站栏,类型为查阅项,信息来源指向该列表3、创建一个关系列表,用于存放新的第三级项和第二级项的对应关系。4、填..阅读全文摘要:
从开始探索DVWP到现在已经有一段日子了。我们这几次的主题都是围绕构建级联下拉框展开的——也就是当选择一个下拉框时会限制下面的下拉框中出现的可选项。还是用前面的Country/State为例,当选择Country=USA时,应该限制States只列出50个United States以及District of Columbia;当选择Country=Canada时,应该限制S...阅读全文
从开始探索DVWP到现在已经有一段日子了。我们这几次的主题都是围绕构建级联下拉框展开的——也就是当选择一个下拉框时会限制下面的下拉框中出现的可选项。还是用前面的Country/State为例,当选择Country=USA时,应该限制States只列出50个United States以及District of Columbia;当选择Country=Canada时,应该限制S...阅读全文摘要:
本文实质上讲述的内容是一个数据准备的通用技巧,也是为了接下来的DVWP扩展作准备。对于管理员来说也都是些基础的SharePoint操作,有经验的读者请略过。前面我们完成了创建网站栏,为网站栏填充数据,创建关系列表,和为关系列表填充数据的工作。但是,你可能非常希望在关系列表中使用标题栏,以使将来的维护工作变得容易些。这是可以理解的,特别是当需要修改其中的某些数据或在将来进行新增数据操作时。有一个唯一..阅读全文
本文实质上讲述的内容是一个数据准备的通用技巧,也是为了接下来的DVWP扩展作准备。对于管理员来说也都是些基础的SharePoint操作,有经验的读者请略过。前面我们完成了创建网站栏,为网站栏填充数据,创建关系列表,和为关系列表填充数据的工作。但是,你可能非常希望在关系列表中使用标题栏,以使将来的维护工作变得容易些。这是可以理解的,特别是当需要修改其中的某些数据或在将来进行新增数据操作时。有一个唯一..阅读全文摘要:
本文的内容对于管理员来说都是些基础的SharePoint操作,目的是为接下来的DVWP扩展作准备。有经验的读者请略过。上一次我们设置了一个关系列表,用于存放两个下拉框中数据间的父子关系,以便我们可以实现下拉框的级联选择,子控件中的可选项基于父控件的选择项。我们有办法简化关系列表的填充工作。但是会在标题栏上遇到一点小问题,默认标题是必填项。上一次,我们列出了如下选择: 我们可以把标题改为可选项(如果... 阅读全文
本文的内容对于管理员来说都是些基础的SharePoint操作,目的是为接下来的DVWP扩展作准备。有经验的读者请略过。上一次我们设置了一个关系列表,用于存放两个下拉框中数据间的父子关系,以便我们可以实现下拉框的级联选择,子控件中的可选项基于父控件的选择项。我们有办法简化关系列表的填充工作。但是会在标题栏上遇到一点小问题,默认标题是必填项。上一次,我们列出了如下选择: 我们可以把标题改为可选项(如果... 阅读全文摘要:
本文的内容对于管理员来说都是些基础的SharePoint操作,目的是为接下来的DVWP扩展作准备。有经验的读者请略过。转入正题,不论是国家和省份,规格和颜色,职位和地点,等等都可以实现级联——或称为范围限制——即一个下拉框的可选项是基于另一个下拉框的选择项,以此来提升可用性。但在开始实现下拉框的级联之前,我们首先需要在数据之间建立关系。在多数情况下(...阅读全文
本文的内容对于管理员来说都是些基础的SharePoint操作,目的是为接下来的DVWP扩展作准备。有经验的读者请略过。转入正题,不论是国家和省份,规格和颜色,职位和地点,等等都可以实现级联——或称为范围限制——即一个下拉框的可选项是基于另一个下拉框的选择项,以此来提升可用性。但在开始实现下拉框的级联之前,我们首先需要在数据之间建立关系。在多数情况下(...阅读全文摘要:
本文实质上讲述的内容是一个数据准备的通用技巧,也是为了接下来的DVWP扩展作准备。对于管理员来说也都是些基础的SharePoint操作,有经验的读者请略过。上一次,我们创建了两个列表和两个网站栏。在下一次,我们将创建一个关系列表,以便维护这两个列表间的关系。但是,首先我们需要为这两个列表准备些数据。(在这个例子里,我们用了3个列表。目的是使用户看起来更加清晰。实际环境中,也可以创建两个列表。其中一...阅读全文
本文实质上讲述的内容是一个数据准备的通用技巧,也是为了接下来的DVWP扩展作准备。对于管理员来说也都是些基础的SharePoint操作,有经验的读者请略过。上一次,我们创建了两个列表和两个网站栏。在下一次,我们将创建一个关系列表,以便维护这两个列表间的关系。但是,首先我们需要为这两个列表准备些数据。(在这个例子里,我们用了3个列表。目的是使用户看起来更加清晰。实际环境中,也可以创建两个列表。其中一...阅读全文摘要:
本文的内容对于管理员来说都是些基础的SharePoint操作,目的是为接下来的DVWP扩展作准备。有经验的读者请略过。为什么用网站栏实现下拉框?网站栏可以用在多个地方。当使用查阅项类型的网站栏连接到一个根网站的列表上,可以在整个网站集范围内使用该网站栏,并且可以保证所有地方的一致性。1、创建一个列表创建一个简单的列表,以将要创建的网站栏的名字来命名。我们只需要使用默认的标题字段即可。在根网站上(比...阅读全文
本文的内容对于管理员来说都是些基础的SharePoint操作,目的是为接下来的DVWP扩展作准备。有经验的读者请略过。为什么用网站栏实现下拉框?网站栏可以用在多个地方。当使用查阅项类型的网站栏连接到一个根网站的列表上,可以在整个网站集范围内使用该网站栏,并且可以保证所有地方的一致性。1、创建一个列表创建一个简单的列表,以将要创建的网站栏的名字来命名。我们只需要使用默认的标题字段即可。在根网站上(比...阅读全文摘要:
通过前面的学习,我们已经掌握了如何在DVWP中使用PreSaveAction(),并利用jQuery协助我们创建了一些变量,接下让我们将变量的值写到审计列表中。使用SharePoint Web服务新建审计记录Marc的库中的UpdataListItems为我们提供了一种快速记录审计跟踪信息变更的方式。首先把老的域值(或者说是表单本身的值)作一个记录......然后,为所有的新(或修改后)纪录重复以...阅读全文
通过前面的学习,我们已经掌握了如何在DVWP中使用PreSaveAction(),并利用jQuery协助我们创建了一些变量,接下让我们将变量的值写到审计列表中。使用SharePoint Web服务新建审计记录Marc的库中的UpdataListItems为我们提供了一种快速记录审计跟踪信息变更的方式。首先把老的域值(或者说是表单本身的值)作一个记录......然后,为所有的新(或修改后)纪录重复以...阅读全文摘要:
在这一系列之前的部分,我们讨论过最基本的在保存操作提交前做些事情——PreSaveAction(),该函数被默认的NewForm和 EditForm表单中的“确定”按钮所调用。我们实现了在DVWP中对该函数的调用,接下来我们将利用这一技巧,进一步使其在用户填写完信息但尚未提交到数据库时执行。在内容编辑器(CEWP)里编写代码你可以把PreSaveAct...阅读全文
在这一系列之前的部分,我们讨论过最基本的在保存操作提交前做些事情——PreSaveAction(),该函数被默认的NewForm和 EditForm表单中的“确定”按钮所调用。我们实现了在DVWP中对该函数的调用,接下来我们将利用这一技巧,进一步使其在用户填写完信息但尚未提交到数据库时执行。在内容编辑器(CEWP)里编写代码你可以把PreSaveAct...阅读全文摘要:
在我们用新的东西替换掉旧的东西前,最好要有一个备份。这不是一种怀旧情结,而是因为有可能会改坏,当你需要回到修改前的状态时,有了之前保存好的备份就会很方便了。修改了什么?通过比较当页面加载时的数据和当保存按钮被点击时的数据,我们可以得到被用户修改的信息,然后据此信息做一些我们希望做的事情。在上一篇中,我们学习了有关asp:label控件的使用,虽然标签在表单里是不可编辑的,但却可以使该表单域在表单操...阅读全文
在我们用新的东西替换掉旧的东西前,最好要有一个备份。这不是一种怀旧情结,而是因为有可能会改坏,当你需要回到修改前的状态时,有了之前保存好的备份就会很方便了。修改了什么?通过比较当页面加载时的数据和当保存按钮被点击时的数据,我们可以得到被用户修改的信息,然后据此信息做一些我们希望做的事情。在上一篇中,我们学习了有关asp:label控件的使用,虽然标签在表单里是不可编辑的,但却可以使该表单域在表单操...阅读全文