Description:
In
this example we explain that how to displaying similar quote products in a
subgrid based on order using FetchXML in Dynamic CRM. Or how to bind similar quote
products in a subgrid based on the selection or onchage of the Quote using FetchXML
and JavaScript in Dynamic CRM.
Suppose
you have requirement like when they selected a product they then want to see
previous quotes with same product that they have selected with price and
quantity they have sold for.
So below
is the code that demonstrate how to bind or populate the subgrid based on the
Lookup change or filtered the subgrid data based on Lookup onChange event.
Code:
function UpdateSubGrid() {
var quoteGrid =
document.getElementById("Quote_Products");
var productId =
Xrm.Page.getAttribute("productid").getValue();
if (productId != null){
//If this method is called from the
form OnLoad, make sure that the grid is loaded before proceeding
if (quoteGrid == null) {
//The subgrid hasn't loaded,
wait 1 second and then try again
setTimeout('UpdateSubGrid()',
1000);
return;
}
var fetchXml = ""
+ " <entity
name='quotedetail'>"
+ " <attribute
name='productid' />"
+ " <attribute
name='productdescription' />"
+ " <attribute
name='priceperunit' />"
+ " <attribute
name='quantity' />"
+ " <attribute
name='extendedamount' />"
+ " <attribute name='salesrepid'
/>"
+ " <attribute name='uomid'
/>"
+ " <attribute
name='manualdiscountamount' />"
+ " <attribute
name='baseamount' />"
+ " <attribute
name='new_quoteid' />"
+ " <attribute
name='quotedetailid' />"
+ " <order
attribute='productid' descending='false' />"
+ " <filter
type='and'>"
+ " <condition
attribute='productid' operator='eq' uiname='1 Function Easy Clean Mini Kit'
"
+ " uitype='product'
value='" + productId[0].id +"' />"
+ " </filter>"
+ " <link-entity
name='quote' from='quoteid' to='quoteid' visible='true' link-type='outer'
alias='a_ff5a49bd001a45f7a14dd99a28f37f91'>"
+ " <attribute
name='customerid' />"
+ " <attribute name='name'
/>"
+ " <attribute
name='quotenumber' />"
+ " <attribute name='quoteid'
/>"
+ " </link-entity>"
+ " <link-entity
name='product' from='productid' to='productid' visible='false'
link-type='outer' alias='a_e0b689bded554f07ab0b241a932d482e'>"
+ " <attribute
name='productnumber' />"
+ " </link-entity>"
+ " </entity>"
+ "</fetch>";
// alert(fetchXml);
//Inject the new fetchXml
quoteGrid.control.setParameter("fetchXml",
fetchXml);
//Force the subgrid to refresh
quoteGrid.control.refresh();
}
0 comments:
Post a Comment