每月档案: 12 月 2007

我的儿子被砍 Gamespot

所以, 今天早上, 我的儿子决心看到年龄十三受限的光环 3 在视频 Gamespot. 我在外面铲雪, 所以我不能帮助或阻碍. 必要性是发明和所有的母亲 … 他有尤里卡! 时刻. 他意识到,即使 Gamespot 想让他进入他 真实 出生日期, 他实际上可以输入 任何 他想要的出生日期. 一旦他意识到, 他使自己够大,看视频.

我不太确定我对此的感受🙂

周日搞笑: “它是印刷垃圾”

在我在大学的第一份工作 1991, 我很幸运的与制造业公司工作 13 地点, 不包括其公司的总部在新泽西. 我加入只是当公司推出一个新的 ERP 系统. 我们是共的一个小的 IT 部门约十多人, 两人没有旅行. 该项目涉及取代 IBM System 的一部分 36 与 HP 硬件和 HPUX 框. 每个人都用绿色的管子来访问系统.

该项目卷沿和派我来巴尔的摩与新同事, 杰夫. 我们的工作是 Unix 框中打开电源, 请确保操作系统运行, 安装 ERP 系统, 配置企业资源规划, 火车上 ERP 的人和为人当场做自定义的工作. (这是梦想的工作, 尤其直接出来的大学). 之前我们真的可以到达离地面, 我们需要解压缩所有绿色的管, 放在书桌上,并将它们连接. 最好的部分是,我们不得不把 rj11 放在自己身上.

出于某种原因,从来都不明白其实从没想过要问在时间, 我们有一些订约公司过来运行整个植物的电缆, 但我们不会把在连接器上. 所以, 有一种"修补程序盒" 与"电脑室无标签的电缆的数十个" 和这些蜿蜒围绕建设到建设中的各种地方.

我们工作我们通过它过去的一个周末课程的方式, 测试每条导线, 穿上一个连接器 (确保它是直 vs. 横渡), 确保绿色管和打印机上的位设置是正确的, 标签电线, 确保该"getty" 为每个端口和其他东西我已经压制自那时以来的一千大概正常运行. 这一切很好地走到一起.

但, 有了一份重要电报,我们找不出. 在巴尔的摩厂曾在新泽西的仓储位置的关系. 在巴尔的摩一些订单运出该位置. 有两根电线,我们只好到 HPUX 框连接: 绿色的管和一台打印机. 绿色的管很容易, 但打印机变成三周噩梦.

如果你不知道它, 或压制它, 绿色管和打印机这种方式处理, 有你处理通过设置各种针脚的各种选项. 8-位, 7-位, 奇偶校验 (甚至/奇/无), 可能是其他人. 如果你拿到的那些设置错了, 管或打印机仍然显示的东西, 但它会胡言乱语, 或在这两者之间会胡言乱语与可识别的东西很多. 答案是肯定的, 这些针脚很难看到,必须通过使用一个小的平边螺丝驱动设置. 而且他们也不标准.

我们成立了许多快速呼叫的第一与新泽西州的家伙 (大概咒骂我们为了这一天是花白的计算机怀恨在心). 我们有绿色的管工作很快, 但是我们找不到打印机工作. 它保留了"印刷垃圾". 我们将创建一个新的 RJ11 连接器, 交叉和直之间切换. 我们将删除端口并重新在 Unix 中创建. 我们经历了艰巨的任务,他向我们解释的管脚配置打印机上, 从来没有真的相信,如果他说的很正确.

是时候去住, 一切都在巴尔的摩嗡嗡作响, 但我们不能起床的诅咒的打印机在新泽西州工作! 我们用尽了所有的可能性,除了回新泽西开车去上班,人在打印机上. 为了避免所有的驾驶, 我们最后问他,传真给我们他正在它"垃圾", 希望也许会有一些线索会告诉我们我们在做什么,垃圾错.

当我们传真, 我们立即知道错在哪里. 请参阅, 我们的测试是否我们已正确配置了一台打印机的方法是,发出"lp" 像这样的命令:

lp/等/passwd

基本上, 我们打印出 unix 密码文件. 它始终是出席并开箱即用, 永远只是一页. 你标准的 Unix 密码文件看起来像这样:

史密斯:*:100:100:8A-74(办公室):/首页/史密斯:/usr/bin/sh 客人:*:200:0::/首页/客房:/usr/bin/sh  

我们已经被打印出密码文件反复几个星期和它被正确打印. 不过, 向最终用户, 它是"印刷垃圾".

</结束>

然而另一个网络凭据 Multi-Challenge 问题与解决方案

我的客户端最近安装了一个神奇的设备从 杜松 这显然取代他们老的思科网络负载平衡器 (NLB). 在大约同一时间, 我们安装了 此修复程序来解决工作流的问题.

一天或两天以后, 我们注意到一个问题,当我们访问的共享的服务提供程序 (PS3). 我们可以给它, 但我们会为一个用户 ID 和密码每一页上多次挑战. 这并没有发生与主要门户网站应用程序, 也不是中央行政部门. 自然, 我们不知道这两个 (杜松或修补程序) 将这一问题, 虽然我强烈怀疑此修补程序, 找我们未安装安装它很正确.

原来杜松有某种压缩设置. 之一 身穿长袍的数字 在网络中组打开该设置. 这解决我们的问题.

这不是第一次压缩已对我来说一个 SharePoint 问题的根源. 对 IE IIS 压缩不利的善良的人们在点网厂从一个第三方工具 6 浏览器 (IE 7 浏览器无困难工作).

所以, 添加"压缩" 到危害列表.

</结束>

信贷: http://www.elfwood.com/art/s/h/sherry/death_colour.jpg.html

Technorati 标签: ,

有关更改博客平台的思考

我开始写博客生涯"" 利用微软的平台,它已经对我很好. 很容易发布, 有很好的选择和管理您的"空间"小部件, 体面 web 存储等等.

不过, 真的只是陷入了 MS 解决方案几乎没有规划. 那孤独的呼吁我评价我在哪里,要去哪里, 在博客平台. 另外还有两个重要的限制,打扰我右现在相对于 Windows Live 空间.

第一次, 我不能得到很好的统计数据. 有统计数据往往被截断而不是允许为任何种类的分析的方式给出了详细. 那里没有排序或出口的能力. 我得到很多博客想法基于人们找到的信息的种类 (或尤其是未能找到) 当他们搜索我的博客. 它是很难使用的生活空间,.

第二次, 似乎并没有任何机制,以"赚钱" windows 生活空间博客. 事实上, 为了摆脱 MS 广告 (我从中没有任何好处), 我需要实际支付微软. (至少, 这就是我的理解; 我一直不能得到确切的答案,这和喜欢它的问题).

现在,我有既定的模式和写博客的习惯的一套, 我想要评估其他选项. 已经做了一些研究,有很多选择, 但我很好奇什么其他人, 特别是别人在 SharePoint 社区 (作为博客作者或读者), 喜欢用.

如果你感兴趣这一主题和你有什么意见还是愿意分享你的经验, 请留言或直接电子邮件通知我.

谢谢!

<结束 />

Technorati 标签:

SharePoint 设计器的电子邮件发送 ???? 在一封电子邮件中

论坛用户偶尔问: SharePoint 设计器是为什么放的 ???? 到我的电子邮件而不是字段值?

发生这种情况的一个原因是因为所引用的变量为 null.

这可能是因为您试图引用一个字段从"当前项" 但用户永远不该窗体字段中输入一个值.

<结束 />

Technorati 标签:

比较 / 测试工作流设计器 SharePoint 中的空白日期

方案: 在设计器中 SharePoint 工作流, 你需要确定一个日期字段是否为空.

问题: SPD 不提供直接的方法来比较日期以外的任何日期. 您不能创建此类的情况下: "如果 [DateField] 等于空白".

解决方案: 将日期转换为字符串. 使用字符串比较来确定是否日期为空.

屏幕截图:

下面的屏幕截图展示如何做到这一点. 在此方案中, 项目中的字段, "环境许可证:第一次允许提醒日期", 就提交和工作流激发的响应.

图像

图像

备注:

当我试过这个, 愉快地惊讶地了解它的工作. 我很担心 SharePoint 设计师可能不允许字符串赋值 (变量:StringReminderDateDate) 但它确实允许它.

我也是有关那允许它, 值可能为 null 并且也炸了 WF 运行时或也许提高全球温度 1/2 学位, 但这些忧虑是毫无根据的.

</结束>

Technorati 标签:

酒吧仍然是相当高对延长的青苔

今天, 我是使用客户端和描述如何修改内容查询 web 部件和显示的内容类型的信息的附加位.

"第一次。, CQWP 连接到其数据源配置, 然后你将它导出到您的工作站, 修改 <CommonViewFields>, 上传, 删除原来和现在是 ' 引物’ 若要显示这些其他列. 下一步, 打开 SharePoint 设计师, 导航到站点集合根目录并找到 ItemStyle.xsl. 复制一个模板作为一个有用的起点. 然后回去修改 CQWP,使这个新模板的使用. 最后, 修改模板来呈现您的新领域! (别忘了检查它回到中以便其他用户可以看到的结果)."

这是对我都很清楚 (最重要的我们 SharePoint 开发人员类型) 到底什么和如何它是个不错, 真的, CQWP 的数据检索方面是如此井-分开的数据演示文稿方面. 但, 它不是那么容易解释, 是它?

<结束 />

Technorati 标签: ,

在网格中显示内容查询 Web 部件的结果 / 表

概述和目标

开箱即用, 苔藓’ 内容查询 Web 部件 (CQWP) 其结果显示在列表格式中, 类似于搜索结果. 它也是可能以网格格式显示结果 (e 小节. HTML 表的格式). 栅格格式是在某些情况下更好. 描述了如何实现这种效果在这篇文章.

业务方案

有在客户端与企业级苔藓推出. 我们已设计及其分类,例如,项目层次结构中的第一类公民,有他们自己的顶级网站. 项目经理保持单身人士列表项目的摘要信息, 如标题, 预算, 预计的完工日期, 其余的预算和其他摘要类型字段. 由"单身" 我的意思是保证包含只有一个项目的自定义 SharePoint 列表. 简单地, 它看起来像这样:

图像

技术方法是多描述的一样 在这里 (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!447.entry). CQWP 使用 XSL 转换来发出为浏览器的 HTML 呈现.

我总是设想结果前潜入 XSL,因为 XSL 是一场噩梦. 这里是我期望的结果:

图像

像这样的 HTML 生成的结果:

<html>
 <正文>
 <中心>
 < 边框= 1>

<!-- 标签 — —>
 <tr 背景色= 蓝>
 <运输署><字体 颜色= 白色><b>项目名称</b></字体></运输署>
 <运输署 对齐= 正确><字体 颜色= 白色><b>完成日期</b></字体></运输署>
 <运输署 对齐= 正确><字体 颜色= 白色><b>预算</b></字体></运输署>
 <运输署 对齐= 正确><字体 颜色= 白色><b>实际费用</b></字体></运输署>
 <运输署><字体 颜色= 白色><b>整体状态</b></字体></运输署>
 </tr>

<tr>
 <运输署>重新连接计算机房.</运输署>
 <运输署 对齐= 正确>02/01/08</运输署>
 <运输署 对齐= 正确>22,500.00</运输署>
 <运输署 对齐= 正确>19,000.00</运输署>
 <运输署>在进展中</运输署>
 </tr>

<tr>
 <运输署>提供服务器的 SQL 升级</运输署>
 <运输署 对齐= 正确>04/01/08</运输署>
 <运输署 对齐= 正确>7,500.00</运输署>
 <运输署 对齐= 正确>0.00</运输署>
 <运输署>计划</运输署>
 </tr>

</>
 </中心>
 </正文>
</html>

方法

按照这些步骤来创建网格:

  1. 确定网格的组件 (行/列).
  2. 定义并创建必要的站点列.
  3. 创建子网站,为项目和单身人士名单.
  4. 将 CQWP 添加到 web 页并将其配置为搜索您的列表.
  5. 修改 CQWP 的 XML,以收集更多列.
  6. 修改 XSL 生成表.

我要去专注于数字六. 数字从一到四个是直向前和任何 CQWP 用户已经做的东西. 五号已被证实的其他人包括详尽屏幕截图载货的本文从 MSDN 在这里 (http://msdn2.microsoft.com/en-us/library/bb897399.aspx) 和希瑟 · 所罗门的博客 在这里 (http://www.heathersolomon.com/blog/articles/CustomItemStyle.aspx).

螺栓和螺母

开始和执行步骤一到五的 MSDN 文档和希瑟 · 所罗门条步骤.

在这一点, 向页面添加了您的 CQWP 和你有你 <CommonViewFields> 根据需要配置.

按照通常的步骤, 拿到这些中间结果:

1. 创建内容类型, 该内容类型和两个站点模板的自定义列表. 这里是内容类型:

图像

这里是网站结构:

图像

2. 创建我的项目的子网站和单身人士项目摘要列表后添加 CQWP:

图像

3. 添加我想要通过的所有其他信息 <CommonViewFields>:

        <属性 名称="CommonViewFields" 类型="字符串">Project_x0020_Name;Project_x0020_Expenses;Project_x0020_Status;Project_x0020_Start_x0020_Date;Project_x0020_End_x0020_Date;Project_x0020_Budget</属性>

请注意,我只好把上一个线或它的所有属性字段将不工作 (CQWP 会告诉我该查询返回没有项目).

4. 在这一点, 我们准备去超越 MSDN 文章翻到希瑟 · 所罗门的文章. 跟随她的脚步开始近一步 #5 若要创建一个自定义 / 未托管的版本的 ItemStyle.xsl. 希瑟的听从, 通过一步向上 11 和得到这些中间结果:

4.1: 名称我的 XSL 模板,如下所示:

<xsl:模板名称 ="网格" 匹配 ="行[@Style = 电网]" 模式 ="itemstyle">

她建议,我也略有修改 <xsl:为每个 …> 通过添加 <br /> 标记,以提供更清洁的上市:

    <xsl:为每个 请选择="@*">
      P:<xsl:值的 请选择="名称()" /><br/>
    </xsl:为每个>

4.2: 我修改的 web 部件, 转到外观并选择我"网格" 样式:

图像

应用更改并在这里是结果:

图像

从上面我们可以看到我们想要的字段 (项目名称, 费用, 状态, 等) 可供我们使用时我们发出的 HTML. 不只如此, 但我们看到,我们必须引用那些列在 XSL 中的名称. 例如, 我们作为"Project_x005F_x0020_Name"引用项目状态.

在这一点, 我们离开从希瑟的博客,从这些巨人的肩膀, 添加我自己一点点.

ContentQueryMain.xsl

请注意: 当对 ContentQueryMain.xsl 以及 ItemStyle.xsl 的更改, 您需要检查那些文件回之前您看到您的更改的效果.

为网格制作目的, 苔藓使用两个不同的 XSL 文件来生成的结果我们看到从 CQWP. 生成输出的前一位, 我们修改了 ItemStyle.xsl. 苔藓实际上使用另一个 XSL 文件, ContentQueryMain.xsl 到 ItemStyle.xsl 来生成其 HTML 结合. 正如其名称所暗示, ContentQueryMain.xsl 是"主" 控制整体液流的翻译的 XSL. 它遍历所有找到的项并将它们传递到模板逐一在 ItemStyle.xsl. 我们将修改 ItemStyle.xsl 生成开放 <表> 之前发射的第一行的数据并关闭标记 <表> 标记后发出的最后一行. 要做到这一点, ContentQueryMain.xsl 被修改,以将两个参数传递给我们"网格" ItemStyle.xsl 中的模板, "最后一行" 和"当前行". ItemStyle.xsl 使用这些有条件地发出必要的标记.

使用希瑟 · 所罗门的技术, 我们找到 ContentQueryMain.xsl. 它坐落在 ItemStyle.xsl 一样的地方. 此屏幕快照应该帮助:

图像

我们需要进行以下更改:

  • 修改 xsl 模板, "CallItemTemplate" 这实际上调用我们在 ItemStyle.xsl 的网格模板. 我们将到网格模板传递两个参数,以便它会有这些数据,它需要有条件地生成打开和关闭 <表> 标签.
  • 另一位叫"CallItemTemplate 的 ContentQueryMain.xsl 的修改" 把它传递"LastRow" 所以,LastRow 可能会转嫁到我们的网格模板的参数.

找到名为"OuterTemplate.CallItemTemplate 的模板" 由该字符串标识:

  <xsl:模板 名称="OuterTemplate.CallItemTemplate">

替换整个模板,如下所示:

  <xsl:模板 名称="OuterTemplate.CallItemTemplate">
    <xsl:param 名称="CurPosition" />

    <!--
      添加"LastRow" 参数.
      我们只使用它时在项目样式通行证是"网格".
    -->
    <xsl:param 名称="LastRow" />

    <xsl:选择>
      <xsl:当 测试="@Style = 'NewsRollUpItem'">
        <xsl:应用模板 请选择="." 模式="itemstyle">
          <xsl:与 param 名称="EditMode" 请选择="$cbq_iseditmode" />
        </xsl:应用模板>
      </xsl:当>
      <xsl:当 测试="@Style = 'NewsBigItem'">
        <xsl:应用模板 请选择="." 模式="itemstyle">
          <xsl:与 param 名称="CurPos" 请选择="$CurPosition" />
        </xsl:应用模板>
      </xsl:当>
      <xsl:当 测试="@Style = 'NewsCategoryItem'">
        <xsl:应用模板 请选择="." 模式="itemstyle">
          <xsl:与 param 名称="CurPos" 请选择="$CurPosition" />
        </xsl:应用模板>
      </xsl:当>

      <!--
              将当前的位置和 lastrow 传递给网格 itemstyle.xsl 模板.
              ItemStyle.xsl 将使用,要发出打开和关闭 <表> 标签.
      -->
      <xsl:当 测试="@Style = 电网">
        <xsl:应用模板 请选择="." 模式="itemstyle">
          <xsl:与 param 名称="CurPos" 请选择="$CurPosition" />
          <xsl:与 param 名称="最后" 请选择="$LastRow" />
        </xsl:应用模板>
      </xsl:当>

      <xsl:否则>
        <xsl:应用模板 请选择="." 模式="itemstyle">
        </xsl:应用模板>
      </xsl:否则>
    </xsl:选择>
  </xsl:模板>

注释说明的目的所做的更改.

答案是肯定的, "OuterTemplate.CallItemTemplate" 本身是从另一个模板调用吗. 通过搜索此文本字符串查找该模板:

<xsl:模板 名称="OuterTemplate.Body">

滚动 OuterTemplate.Body 中的说明并插入 LastRow 参数,如下所示 (显示为斜体的注释):

<xsl:调用模板 名称="OuterTemplate.CallItemTemplate">
  <xsl:与 param 名称="CurPosition" 请选择="$CurPosition" />
  <!-- 插入 LastRow 参数. -->
  <xsl:与 param 名称="LastRow" 请选择="$LastRow"/>
</xsl:调用模板>

所有这一切之后, 我们终于有事情正确设置,以便可以将发出我们 ItemStyle.xsl <表> 在正确的地点标记.

ItemStyle.Xsl

请注意: 再次, 在 ItemStyle.xsl 中进行任何更改,这样,你看到那些更改的效果后检查.

我们这里有两个任务:

  • 替换整个网格模板. 你可以复制/粘贴从下面.
  • 添加一些胡言外模板定义,使"formatcurrency" 要工作模板. (你可以告诉我关于 XSL 有稀薄的句柄).

第一次, 靠近顶部的 ItemStyle.xsl, 添加下面这行:

  <!-- 一些胡言乱语,使我们能够显示美国. 货币. -->
  <xsl:十进制格式 名称="工作人员" 数字="D" />

  <xsl:模板 名称="默认" 匹配="*" 模式="itemstyle">

我已添加直接之前的注释 <xsl:模板名称 ="默认" …> 定义.

下一步, 回到我们的网格模板. 用下面的代码替换整个网格模板. 它是彻底的评论, 但不要犹豫给我发电子邮件或在我的博客留下评论,如果你有问题.

  <xsl:模板 名称="网格" 匹配="行[@Style = 电网]" 模式="itemstyle">

    <!--
      ContentMain.xsl 通过 CurPos 和最后.
      我们使用这些有条件地发出打开和关闭 <表> 标签.
    -->
    <xsl:param 名称="CurPos" />
    <xsl:param 名称="最后" />

    <!-- 下列变量是从标准 ItemStyle.xsl 中未被修改 -->
    <xsl:变量 名称="SafeImageUrl">
      <xsl:调用模板 名称="OuterTemplate.GetSafeStaticUrl">
        <xsl:与 param 名称="UrlColumnName" 请选择="'' ImageUrl"/>
      </xsl:调用模板>
    </xsl:变量>
    <xsl:变量 名称="SafeLinkUrl">
      <xsl:调用模板 名称="OuterTemplate.GetSafeLink">
        <xsl:与 param 名称="UrlColumnName" 请选择="'' LinkUrl"/>
      </xsl:调用模板>
    </xsl:变量>
    <xsl:变量 名称="DisplayTitle">
      <xsl:调用模板 名称="OuterTemplate.GetTitle">
        <xsl:与 param 名称="标题" 请选择="@Title"/>
        <xsl:与 param 名称="UrlColumnName" 请选择="'' LinkUrl"/>
      </xsl:调用模板>
    </xsl:变量>
    <xsl:变量 名称="LinkTarget">
      <xsl:如果 测试="@OpenInNewWindow = true" >_blank</xsl:如果>
    </xsl:变量>

    <!--
      在这里我们定义一个变量, ""tableStart.  这包含的 HTML,我们使用来定义表的列标签开幕.  请注意,如果 CurPos = 1, 它包括 HTML 在 CDATA 标记.
      否则, 它将为空.

      TableStart 的值是一大,每次通过 ContentQueryMain.xsl 调用 ItemStyle 时.
    -->
    <xsl:变量 名称="tableStart">
      <xsl:如果 测试="$CurPos = 1">
        <![CDATA[
        <表格边框 = 1>
          <tr 背景色 ="蓝色">
            <运输署><字体颜色 ="白"><b>项目名称</b></字体></运输署>
            <运输署对齐 ="权利"><字体颜色 ="白"><b>完成日期</b></字体></运输署>
            <运输署对齐 ="权利"><字体颜色 ="白"><b>预算</b></字体></运输署>
            <运输署对齐 ="权利"><字体颜色 ="白"><b>实际费用</b></字体></运输署>
            <运输署><字体颜色 ="白"><b>整体状态</b></字体></运输署>
          </tr>
        ]]>
      </xsl:如果>
    </xsl:变量>

    <!--
      另一个变量, tableEnd 只是定义关闭表标记.

      与 tableStart 一样, 它始终是一大.  这就是为什么它的值分配有条件地根据是否我们被路过的最后一行 ContentQueryMain.xsl.
    -->
    <xsl:变量 名称="tableEnd">
      <xsl:如果 测试="$CurPos = $Last">
        <![CDATA[ </表> ]]>
      </xsl:如果>
    </xsl:变量>

    <!--
      总是发出 tableStart 的内容.  如果这不是通过 ContentQueryMain.xsl 传递给我们的第一行, 然后我们知道它的值将显示为空白.

      禁用输出转义因为当 tableStart 不空白, 它包括我们要由浏览器呈现的实际 HTML.  如果我们不告诉 XSL 解析器来禁用输出转义, 它将生成之类"&这是;表&gt;" 而不是"<表>".
    -->
    <xsl:值的 请选择="$tableStart" 禁用输出转义=""/>


    <tr>
      <!--
      P:Project_x005F_x0020_Name P:Project_x005F_x0020_End_x005F_x0020_Date P:Project_x005F_x0020_Budget P:Project_x005F_x0020_Expenses P:Project_x005F_x0020_Status
      -->
      <运输署>
        <xsl:值的 请选择="@Project_x005F_x0020_Name"/>
      </运输署>

      <运输署 对齐="权利">
        <xsl:值的 请选择="@Project_x005F_x0020_End_x005F_x0020_Date"/>
      </运输署>

      <运输署 对齐="权利">
        <xsl:调用模板 名称="formatcurrency">
          <xsl:与 param 名称="价值" 
请选择="@Project_x005F_x0020_Budget"></xsl:与 param> </xsl:调用模板> </运输署> <运输署 对齐="权利"> <xsl:调用模板 名称="formatcurrency"> <xsl:与 param 名称="价值" 请选择="@Project_x005F_x0020_Expenses">
</xsl:与 param> </xsl:调用模板> </运输署> <运输署> <xsl:值的 请选择="@Project_x005F_x0020_Status"/> </运输署> <!-- 满足以下所有条件被注释掉,以澄清事情. 不过, 把它带回来,塞进 <运输署> 看看它的效果. --> <!-- <div id ="linkitem" 类 ="项目"> <xsl:如果测试 ="字符串长度($SafeImageUrl) != 0"> <div 类 ="图像-地区-左"> <href ="{$SafeLinkUrl}" 目标 ="{$LinkTarget}"> <img 类 ="图像-固定宽度" src ="{$SafeImageUrl}"
alt ="{@ImageUrlAltText}"/> </一> </div> </xsl:如果> <div 类 ="链接"> <xsl:调用模板
name="OuterTemplate.CallPresenceStatusIconTemplate"/> <href ="{$SafeLinkUrl}"
目标 ="{$LinkTarget}" 标题 ="{@LinkToolTip}"> <xsl:值的选择 ="$DisxslyTitle"/> </一> <div 类 ="描述"> <xsl:值的 select="@Description" /> </div> </div> </div>
--> </tr> <!-- 发出关闭表标记. 如果我们不是在最后一行, 这将显示为空白. --> <xsl:值的 请选择="$tableEnd" 禁用输出转义=""/> </xsl:模板> <xsl:模板 名称="formatcurrency"> <xsl:param 名称="价值" 请选择="0" /> <xsl:值的 请选择='数字格式($价值, "$DDD,DDD,DDD。GDA, "工作人员")' /> </xsl:模板>

标准 WSS/MOSS 数据输入屏幕不支持级联下拉列表 (或其他内部-从通信)

更新 (04/2008): 这很好的博客条目显示基于良好 javascript 处理这个问题: http://webborg.blogspot.com/2008/04/add-functions-and-events-to-sharepoint.html

更新二: (04/2008): 这篇博客以及看好: http://www.cleverworkarounds.com/2008/03/13/free-mosswss-2007-web-part-hide-controls-via-javascript/

一周几次, 如果不是每日,, 论坛用户的描述通常会通过级联下拉菜单的要求. 例如, 我有两个下拉控件:

  • 美国的列表. 国家
  • 美国的列表. 城市.

作为负责任的 UI 提供, 我们想要这样操作:

  • 保罗选择美国. 从下拉状态.
  • 这将导致城市下拉筛选只有那些属于所选国家的城市.
  • 保罗从此筛选的列表中选择一个城市.

没有开箱支持此功能. 事实上, 没有为任何一种直接的内部形式沟通的 OOB 支持. 这包括以编程方式隐藏/启用/禁用字段字段更改窗体上其他地方的响应.

这篇文章来描述可能的解决办法和这些的真正目的是选项知他们:

  1. 开发自定义的列类型. 作为一个自定义列开发人员, 您可以完全控制"的世界" 自定义该列的. 您可以实现级联下拉那种方式.
  2. 请考虑使用工作流. 在某些情况下, 您想要自动将一个值分配给字段基于另一个字段的值. 在此情况下, 您通常会尝试使用计算的列, 但有些时候, 它只是不会得到这份工作做. 设计器 SharePoint 工作流是下降到代码和 visual studio 相对管理友好替代. 如果你走这条路, 了解处理的问题 这篇文章 (http://paulgalvin.spaces.live.com/blog/cns!CC1EDB3DAA9B8AA!405.entry).
  3. 事件处理程序: 工作流一样, 这是一个经过--事实上解决方案. 您的事件处理程序是.NET 程序集 (C#, VB.NET) 将控制传递到哪个 SharePoint. 你开发的对象有权访问列表的数据 (和整个对象模型) 可以做任何所需的计算.
  4. 使用 SharePoint 设计器来创建窗体自定义项. 我没有用这种方法直接经验, but I hear they are doing good things with NewForm.aspx these days 🙂
  5. 滚你自己 ASP.NET 数据入口函数 (作为一个独立的 web 页或 web 部件) 而改用的.

如果有人知道其他和/或更好的选项, 请发表评论,并再更新这篇文章的正文.

<结束 />

Technorati 标签:

是/否 (复选框) 在内容查询 Web 部件中筛选

若要筛选的查询为是没有复选框的题为"PG 里程碑", 像这样配置 CQWP:

图像

这是另一个的那些明显-一次-你知道-it,但 hard-to-find-an-answer-to 的问题: 如何筛选上 Yes/使用内容查询 web 部件没有复选框.

第一次 搜索结果 我发现使用搜索词"筛选 yes/no 内容查询 web 部件" 是平错, 所以我把这个放在那里看看,是否它可以替换不正确的结果,在典型的搜索结果.

它是很容易: True 值 ="1" 和虚假的值不等于"1" (漂亮的复古, 实际上).

在上面的示例, 站点类型的列创建"否 (复选框)" 命名"PG 的里程碑". 将其添加到文档库, 上传几个文件, 设置几个值,并对其进行测试.

<结束 />