摘要: 有三个表,如果学生缺考,那么在成绩表中就不存在这个学生的这门课程成绩的记录,写一段SQL语句,检索出每个学生缺考的科目。A 学生表(student)字段1 学生号(s_id)字段2 学生名(s_name)B 科目表(course)字段1 科目号(c_id)字段2 科目名(c_name)C 成绩表(g... 阅读全文
posted @ 2014-09-12 12:29 Joy Zhong 阅读(1713) 评论(0) 推荐(0) 编辑
摘要: Northwind数据库,选取价格第二高的产品。有两种方法,一个是用Row_Number()函数:SELECT productname FROM (SELECT TOP 2 productname, Row_Number() OVER (ORDER BY unitprice desc) AS... 阅读全文
posted @ 2014-08-08 20:25 Joy Zhong 阅读(184) 评论(0) 推荐(0) 编辑
摘要: Lookup图标不显示,并且出错类似: “this.get_element().save("LookupMruItems")”如果出现这种情况,试一下把网址从trusted site移到local intranet。昨天试了下,可以了。 阅读全文
posted @ 2013-04-05 16:08 Joy Zhong 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 今天更新一个Plugin时报错:Your subscription has the maximum amount of storage available. For additional storage, please contact our sales organization at 1-877-CRM-CHOICE (276-2464).原因是数据库服务器硬盘空间不足,运行以下SQL语句(注意数据库名改成相应的):USE [master]GOALTER DATABASE [TestDb] SET RECOVERY SIMPLE WITH NO_WAITDBCC SHRINKFILE(Tes 阅读全文
posted @ 2012-12-19 11:06 Joy Zhong 阅读(517) 评论(0) 推荐(0) 编辑
摘要: 页面上有一个Lookup field,当选择一个记录时,同时要把这个记录的其他值也带到本页面来,其中有好多是Lookup来的。开始我用LinkEntity来取得它们的名字值,但是后来发现LinkEntity有数量限制,每条查询语句只能有10个LinkEntity,超过就报错,Advanced Find里也是一样的。所以,用LinkEntity并不是一个好办法,而且我只是要取得一个名字的值而已,直觉告诉我不用那么麻烦的。研究了一下,其实Fetchxml取的Lookup的值,不仅有GUID,名字的值也取到了,只不过名字值要经过一定的步骤转化才能拿到。下面是具体方法:首先,我们从返回的xml对象中取 阅读全文
posted @ 2012-05-28 12:58 Joy Zhong 阅读(2097) 评论(0) 推荐(1) 编辑
摘要: 这是一个非常普通的需求。页面上有一个按钮,点击之后提交表单,如果什么都不管的话,用户可以在服务器响应完成之前再次点击,这样就出现了二次提交,后果可大可小。那么我们应该防止二次点击,就要在用户点第一次之后马上Disable这个按钮。具体:按钮代码: <asp:Button ID="Button1" runat="server" UseSubmitBehavior="false" OnClick="Button1_Click" Text="Button" OnClientClick=" 阅读全文
posted @ 2012-04-20 15:54 Joy Zhong 阅读(3312) 评论(3) 推荐(1) 编辑
摘要: 需求:页面上有一个字段是Account类型的Lookup,另一个字段是Contact类型的Lookup。要求打开Contact lookup时只显示Account的Primary Contact的过滤视图。分析:要做到这个功能,首先要重写(增加)Contact lookup的“显示查找视图”的事件;然后,在页面加载的时候就要把这个事件添加到Contact lookup上,在Account的值发生变化时也要做相应的改变,比如Account的值被清空的情况下,我们的自定义过滤视图就应该显示全部的Contact,所以这时要再次改写“显示查找视图”的事件。步骤:(1)创建一个Javascript文件, 阅读全文
posted @ 2012-04-12 16:37 Joy Zhong 阅读(899) 评论(0) 推荐(0) 编辑
摘要: 之前接手这个项目的时候,看到的设计是这样的:实体A的页面上有一个Lookup,连到实体B;实体B的所有Fields都要展示到实体A;实体A不能改动这些Fields;实体B改动了这些Fields,也要体现到实体A;在实体A重复创建和实体B一模一样的Fields……这样的设计非常无聊,既然实体A要展示那些Fields,又不能改,其实只要直接拿实体B的信息即可,不需要重复创建Fields。但是他们这样做是有原因的,因为CRM的sub grid展示形式很单一,无法达到用户的需要。于是,现在,我改成了用Htm Web Resource来实现。如图:上图中的红框的信息全是来自“Property”这个Loo 阅读全文
posted @ 2012-03-28 16:18 Joy Zhong 阅读(678) 评论(0) 推荐(1) 编辑
摘要: function UserHasRole(roleName){ var serverUrl = Xrm.Page.context.getServerUrl(); var oDataEndpointUrl = serverUrl + "/XRMServices/2011/OrganizationData.svc/"; oDataEndpointUrl += "RoleSet?$top=1&$filter=Name eq '" + roleName + "'"; var service = GetRequestOb 阅读全文
posted @ 2012-03-09 12:33 Joy Zhong 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 很拗口的标题 -_-|||需求:页面上有两个同样的Field——accountnumber,想Disable其中一个,究竟为什么有这么傻叉的需求就不讨论了,只关注于如何实现。看似简单的问题,实际做的时候却遇到问题,一开始,当然是用“Xrm.Page.getControl("accountnumber").setDisabled(true);”,结果发现不行,只有排在前面的那个Field被Disable了,另一个还是enable的。为什么另一个不行呢?我用了曲折的方法debugging得到结论:function disablenumber() { debugger; //先取 阅读全文
posted @ 2012-03-06 12:06 Joy Zhong 阅读(282) 评论(0) 推荐(0) 编辑