Dynamics CRM JavaScript 操作大全
一:js給欄位賦值
1、單行文本
Xrm.Page.getAttribute(‘Singlelinetext’).setValue(“單行文本資料”);
2、整數
Xrm.Page.getAttribute(‘integer’).setValue(190 );
3、選項集
Xrm.Page.getAttribute(‘OptionSet’).setValue(100000001);
4、兩個選項
Xrm.Page.getAttribute(‘OptionSet’).setValue(true);
5、浮點數
Xrm.Page.getAttribute('new_Float ').setValue(10.2);
6、十進制數
Xrm.Page.getAttribute('new_Float ').setValue(104.1);
7、貨幣
Xrm.Page.getAttribute('new_Float ').setValue(20000.1);
8、多行文本
Xrm.Page.getAttribute('new_Float ').setValue(“多行文本欄位的值多行文本欄位的值多行文本欄位的值多行文本欄位的值----多行文本欄位的值”);
9、日期和時間
Xrm.Page.getAttribute('new_Float ').setValue(new date());
10、查找
attr(‘物體名稱’).disable().setLookup(‘物體名稱’, 查找物體的值, 查找物體的name)
二:c#給各型別欄位賦值
1、單行文本
RecordEntity[“new_lead”]=“單行文本的值”;
2、整數
RecordEntity[“new_lead”]=123;
3、選項集
RecordEntity[“物體名”]= new OptionSetValue(100000003);
4、兩個選項
RecordEntity[“new_isornoappoint”] = true;
5、浮點數
RecordEntity[“float”] =10.1;
6、十進制數
RecordEntity[“decimalism”] =10.20;
7、貨幣
RecordEntity[“new_ftmoney”] = new Money(90.0);
8、多行文本
RecordEntity[“new_ftmoney”] =“多行文本的值”;
9、日期和時間
RecordEntity[“date”] =datetime.now;
10、查找
RecordEntity[“物體名稱”]=new EntityReference(“關聯物體的名稱”, 關聯物體的guid);;
三:Linq查詢
單表
場景1、OrganizationServiceContext orgServiceContext=new OrganizationService(service);
var result=from a in orgServiceContext.CreateQuery(“Account”) select a;
遍歷集合
foreach(var item in result)
{
xx=item[“attributename”];
}
場景2、
var sql=from a in orgServiceContext.CreateQuery(“Account”)
Where a[“accounted”].Equals(xxxx)
Select new Account
{
AccountName=a[“accountName”],
Account_Address=a[“address”]
}
遍歷集合
Foreach(var item in sql)
{
xxx=item[“AccountName”];//這里取值時用select的別名
}
多表
var sql=from a in orgServiceContext.CreateQuery(“systemuser”)
join b in orgServiceContext.CreateQuery(“systemuserroles”)
on a.systemuserid equals b.systemuserid
join c in orgServiceContext.CreateQuery(“role”)
on b.roleid equals c.roles
where a[“name”].equals(“xxxx”)
Orderby a.name ascending
Select new
{
Name=a.name,
Role_Id=c.roleid
};
場景3 :對大型查詢結果集進行分頁
int pageSize=5;
var accountByPage=from a in orgServiceContext.CreateQuery(“Account”)
select new Account
{
Name=a.name
};
Foreach
四、fetchXml
單表:
string fetch=@"<fetch version=’'1.0 outpu-format=‘xml-platform’ mapping=‘logical’ distinct=‘true’>
";
EntityCollection results=service.RetrieveMultiple(new FetchExpression(fetch));
多表:
string fetch=@"
<link_entity name=‘systemuserroles’ from=‘systemuserid’ to=‘systemuserid’ visable=‘false’ intersect=‘true’>
<link_entity name=‘role’ from =‘roleid’ to=‘roleid’ alias=‘aa’>
";
EntityCollection results=service.RetrieveMultiple(new FetchExpression(fetch));
五、QueryBase
單表:
QueryExpression query=new QueryExpression{
EntityName=“account”,
ColumnSet=new ColumnSet(true);
}
多表:
例:select a.ename,b.bname from emp a join dept b on a.deptno=b.deptno join customer c on b.customerid=c.customerid
QueryExpression query = new QueryExpression();
query.EntityName = “emp”;
query.ColumnSet = new ColumnSet();
query.ColumnSet.Columns.Add(“ename”);
LinkEntity linkEntity = new LinkEntity("emp", "dept", "deptno", "deptno", JoinOperator.Inner);
query.LinkEntities.Add(linkEntity);
query.LinkEntities[0].Columns.AddColumns("bname");
query.LinkEntities[0].EntityAlias = "b";
LinkEntity linkEntity2 = new LinkEntity(“dept”, “customer”, “customerid”, “customerid”, JoinOperator.Inner);
query.LinkEntities.Add(linkEntity2);
query.LinkEntities[1].Columns.AddColumns("customername");
query.LinkEntities[1].EntityAlias = "c";
EntityCollection results = service.RetrieveMultiple(query);
//遍歷結果集
foreach(Entity entity in results.Entities){
string name=entity["ename"]; //from表直接獲取
string bname=entity["b.bname"]; //這里要取dept的值需要通過別名取得
string customername=entity["c.customername"]; //這里要取customer的值需要通過別名取得
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/239114.html
標籤:其他
上一篇:請撰寫程式,連接資料庫,并將該表中的所有條目,按照學號,姓名和生日的順序輸出到控制臺。
下一篇:關于SQL練習2的一些寫法。。。查詢選修人數超過2人且成績都在60分以上的課程 查詢選修張老師講授所有課程的學生 計算并填寫學生獲得的總學分
