<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Dynamic Table</title>
<style type="text/css">
body {
font-family: Arial;
font-size: 10pt;
}
table {
border: 1px solid #ccc;
border-collapse: collapse;
}
table th {
background-color: #F7F7F7;
color: #333;
font-weight: bold;
}
table th, table td {
padding: 5px;
border-color: #ccc;
}
</style>
<script type="text/javascript" src="js/jquery-1.8.3.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.9.2.custom.js"></script>
<script src="jqgrid/js/grid.locale-en.js" type="text/javascript"></script>
<script src="jqgrid/js/jquery.jqGrid.min.js" type="text/javascript"></script>
<script src="ClientGlobalContext.js.aspx" type="text/javascript"></script>
<script src="../WebResources/Jquery.min.js" type="text/javascript"></script>
<script src="../WebResources/bootstrap.min.js" type="text/javascript"></script>
<script src="../WebResources/grid.locale_en.js" type="text/javascript"></script>
<script src="../WebResources/jquery.jqgrid.min.js" type="text/javascript"></script>
<script src="../WebResources/scripts/XrmServiceToolkit" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
debugger;
//setTimeout(2000, function ViewTable());
function ViewTable(){
//var newTable,startTag,endTag;
alert('query executed successfully');
var accountidtosearch = window.parent.Xrm.Page.data.entity.getId();
//if(accountid != null){
var query = "<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>"+
" <entity name='contact'>"+
" <attribute name='fullname' />"+
" <attribute name='telephone1' />"+
" <attribute name='contactid' />"+
" <order attribute='fullname' descending='false' />"+
" <link-entity name='account' from='accountid' to='parentcustomerid' link-type='inner' alias='ab'>"+
" <filter type='and'>"+
" <condition attribute='accountnumber' operator='eq' value= '"+ accountidtosearch +"'/>"+
" </filter>"+
" </link-entity>"+
" </entity>"+
"</fetch>;"
//var encodedFetchXML = encodeURIComponent(query);
//Creating a new table
//executing above query
var contactsLog = new Array();
contactsLog.push(["Fullname", "telephone1", "contactid"]);
var contactRecords = XrmServiceToolkit.Soap.Fetch(query);
//Build an array containing Customer records.
if (contactRecords.length > 0)
{
alert('query executed successfully');
for (var contact = 0 ; contact < contactRecords.length; contact++)
{
contactsLog.push([
contactRecords[contact].attributes.new_name? contactRecords[contact].attributes.new_name.value : "",
contactRecords[contact].attributes.new_dates ? contactRecords[contact].attributes.new_dates.value : "",
contactRecords[contact].attributes.new_loopstring ? contactRecords[contact].attributes.new_loopstring.value : "",
]);
}
//Create a HTML Table element.
var table = document.createElement("TABLE");
table.border = "1";
//Get the count of columns.
var columnCount = contactsLog[0].length;
//Add the header row.
var row = table.insertRow(-1);
for (var i = 0; i < columnCount; i++) {
var headerCell = document.createElement("TH");
headerCell.innerHTML = contactsLog[0][i];
row.appendChild(headerCell);
}
//Add the data rows.
for (var i = 1; i < contactsLog.length; i++) {
row = table.insertRow(-1);
for (var j = 0; j < columnCount; j++) {
var cell = row.insertCell(-1);
cell.innerHTML = contactsLog[i][j];
}
}
var dvTable = document.getElementById("dvTable");
dvTable.innerHTML = "";
dvTable.appendChild(table);
alert('updating table');
}
//}
//function getchildrecords()
}
</script>
</head>
<body onload="ViewTable()" style="overflow-wrap: break-word;">
<div id="dvTable">
</div>
</body>
</html>