<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Implementing Nested grid &#8211; Sibeesh Passion</title>
	<atom:link href="https://mail.sibeeshpassion.com/tag/implementing-nested-grid/feed/" rel="self" type="application/rss+xml" />
	<link>https://mail.sibeeshpassion.com</link>
	<description>My passion towards life</description>
	<lastBuildDate>Fri, 17 Jul 2015 12:37:24 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>/wp-content/uploads/2017/04/Sibeesh_Passion_Logo_Small.png</url>
	<title>Implementing Nested grid &#8211; Sibeesh Passion</title>
	<link>https://mail.sibeeshpassion.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Implementing Nested Grid in JQWidget JQX Grid</title>
		<link>https://mail.sibeeshpassion.com/implementing-nested-grid-in-jqwidget-jqx-grid/</link>
					<comments>https://mail.sibeeshpassion.com/implementing-nested-grid-in-jqwidget-jqx-grid/#disqus_thread</comments>
		
		<dc:creator><![CDATA[SibeeshVenu]]></dc:creator>
		<pubDate>Wed, 29 Apr 2015 20:37:09 +0000</pubDate>
				<category><![CDATA[JQWidgets]]></category>
		<category><![CDATA[JQX Grid]]></category>
		<category><![CDATA[Implementing Nested grid]]></category>
		<category><![CDATA[Nested Grid]]></category>
		<guid isPermaLink="false">https://sibeeshpassion.com/?p=1891</guid>

					<description><![CDATA[Introduction If you are new to JQwdget JQX Grid, I recommend you read my previous articles on the topic here. Working With JQX Grid With Filtering And Sorting Advanced JQX Grid With All Functionality Today we will learn how to implement a nested grid using JQWidget JQX grid files. Background In my previous article I said all of the properties of JQwidget JQX grid and now we can implement them. Now I have a requirement to implement the Nested grid. So I thought of sharing that with you all. Loading required files To start, we need to load the necessary [&#8230;]]]></description>
										<content:encoded><![CDATA[<div><strong>Introduction</strong></div>
<div></div>
<div>If you are new to JQwdget JQX Grid, I recommend you read my previous articles on the topic here.</div>
<div>
<ul>
<li><a href="http://sibeeshpassion.com/Working-With-JQX-Grid-With-Filtering-And-Sorting.html">Working With JQX Grid With Filtering And Sorting</a></li>
<li><a href="http://sibeeshpassion.com/Advanced-JQX-Grid-With-All-Functionality.html">Advanced JQX Grid With All Functionality</a></li>
</ul>
</div>
<p>Today we will learn how to implement a nested grid using JQWidget JQX grid files.</p>
<p><strong>Background</strong></p>
<p>In my previous article I said all of the properties of JQwidget JQX grid and now we can implement them. Now I have a requirement to implement the Nested grid. So I thought of sharing that with you all.</p>
<p><strong>Loading required files</strong></p>
<p>To start, we need to load the necessary files first. Just select the files from the Solution Explorer and drag those to the last of body section of the page.</p>
<div>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-c">
<li class="alt">&lt;script type=<span class="string">&#8220;text/javascript&#8221;</span> src=<span class="string">&#8220;jqwidgets/jqxcore.js&#8221;</span>&gt;&lt;/script&gt;</li>
<li>&lt;script type=<span class="string">&#8220;text/javascript&#8221;</span> src=<span class="string">&#8220;jqwidgets/jqxdata.js&#8221;</span>&gt;&lt;/script&gt;</li>
<li class="alt">&lt;script type=<span class="string">&#8220;text/javascript&#8221;</span> src=<span class="string">&#8220;jqwidgets/jqxbuttons.js&#8221;</span>&gt;&lt;/script&gt;</li>
<li>&lt;script type=<span class="string">&#8220;text/javascript&#8221;</span> src=<span class="string">&#8220;jqwidgets/jqxscrollbar.js&#8221;</span>&gt;&lt;/script&gt;</li>
<li class="alt">&lt;script type=<span class="string">&#8220;text/javascript&#8221;</span> src=<span class="string">&#8220;jqwidgets/jqxmenu.js&#8221;</span>&gt;&lt;/script&gt;</li>
<li>&lt;script type=<span class="string">&#8220;text/javascript&#8221;</span> src=<span class="string">&#8220;jqwidgets/jqxgrid.js&#8221;</span>&gt;&lt;/script&gt;</li>
<li class="alt">&lt;script type=<span class="string">&#8220;text/javascript&#8221;</span> src=<span class="string">&#8220;jqwidgets/jqxgrid.selection.js&#8221;</span>&gt;&lt;/script&gt;</li>
<li>&lt;script type=<span class="string">&#8220;text/javascript&#8221;</span> src=<span class="string">&#8220;jqwidgets/jqxgrid.filter.js&#8221;</span>&gt;&lt;/script&gt;</li>
<li class="alt">&lt;script type=<span class="string">&#8220;text/javascript&#8221;</span> src=<span class="string">&#8220;jqwidgets/jqxgrid.sort.js&#8221;</span>&gt;&lt;/script&gt;</li>
</ol>
</div>
</div>
<p>Now it is time to load the CSS style sheet for the grid.</p>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-c">
<li class="alt">&lt;link href=<span class="string">&#8220;jqwidgets/styles/jqx.base.css&#8221;</span> rel=<span class="string">&#8220;stylesheet&#8221;</span> /&gt;</li>
</ol>
</div>
<p>Once you have loaded the required files, we can start our implementation.</p>
<p>Before loading the JQWidget JQX grid, we need to understand the preceding terms.</p>
<div>
<ol>
<li><strong>A Data Array: </strong>The main and the first necessary thing to load a grid is the data, we will provide a JSON array as data.</li>
<li><strong>A Source: </strong>Once the data is ready we will give this array to the source, where source is a JSON property on which we are giving some initial settings. We will look to it when implementing the grid.</li>
<li><strong>A Data Adapter: </strong>And once we have created the source element we will give this to another JSON property that is the same as the source with some different settings.<br />
Now we will start the grid implementation.</li>
</ol>
</div>
<p><strong>Implementing Grid</strong></p>
<p>First we will load a simple grid, then we will implement the nested gird. Sounds good?</p>
<p>The simplest implementation to load a JQWidget JQX grid is as follows.</p>
<div>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-c">
<li class="alt">$(<span class="string">&#8220;#jqxgrid&#8221;</span>).jqxGrid(</li>
<li>{</li>
<li class="alt">    width: 850,</li>
<li>    height: 365,</li>
<li class="alt">    sortable: <span class="keyword">true</span>,</li>
<li>    source: source,</li>
<li class="alt">    <span class="comment">//rowdetails: true,  </span></li>
<li>    rowsheight: 35,</li>
<li class="alt">    <span class="comment">//initrowdetails: initrowdetails,  </span></li>
<li>    rowdetailstemplate: {</li>
<li class="alt">        rowdetails: <span class="string">&#8220;&lt;div id=&#8217;grid&#8217; style=&#8217;margin: 10px;&#8217;&gt;&lt;/div&gt;&#8221;</span>,</li>
<li>        rowdetailsheight: 220,</li>
<li class="alt">        rowdetailshidden: <span class="keyword">true</span></li>
<li>    },</li>
<li class="alt">    ready: <span class="keyword">function</span>() {</li>
<li>        $(<span class="string">&#8220;#jqxgrid&#8221;</span>).jqxGrid(<span class="string">&#8216;showrowdetails&#8217;</span>, 1);</li>
<li class="alt">    },</li>
<li>    columns: [{</li>
<li class="alt">        text: <span class="string">&#8216;User Id&#8217;</span>,</li>
<li>        datafield: <span class="string">&#8216;UserId&#8217;</span>,</li>
<li class="alt">        hidden: <span class="keyword">true</span></li>
<li>    }, {</li>
<li class="alt">        text: <span class="string">&#8216;My Transactions&#8217;</span>,</li>
<li>        datafield: <span class="string">&#8216;TransactionName&#8217;</span></li>
<li class="alt">    }]</li>
<li>});</li>
</ol>
</div>
</div>
<p>In the preceding code I knowingly commented two properties. Have you noticed it?</p>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-c">
<li class="alt"><span class="comment">//rowdetails: true,</span></li>
<li class="alt"><span class="comment">//initrowdetails: initrowdetails,</span></li>
</ol>
</div>
<p>The preceding specified properties are the properties we need to assign for the nested grid.</p>
<p>We can set the data and assign it to the source as follows for the simple grid.</p>
<div>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-c">
<li class="alt"><span class="keyword">var</span> tdData = $.parseJSON(<span class="string">&#8216;[{&#8220;UserId&#8221;: &#8220;5&#8221;,&#8221;TransactionName&#8221;: &#8220;TRAN-Chennai&#8221;},{&#8220;UserId&#8221;: &#8220;6&#8221;,&#8221;TransactionName&#8221;: &#8220;TRAN-Kerala&#8221;}]&#8217;</span>);</li>
<li><span class="keyword">var</span> source =</li>
<li class="alt">{</li>
<li>    datafields: [{</li>
<li class="alt">        name: <span class="string">&#8216;UserId&#8217;</span>,</li>
<li>        type: <span class="string">&#8216;int&#8217;</span></li>
<li class="alt">    }, {</li>
<li>        name: <span class="string">&#8216;TransactionName&#8217;</span>,</li>
<li class="alt">        type: <span class="string">&#8216;string&#8217;</span></li>
<li>    }],</li>
<li class="alt">    id: <span class="string">&#8216;UserId&#8217;</span>,</li>
<li>    datatype: <span class="string">&#8220;array&#8221;</span>,</li>
<li class="alt">    async: <span class="keyword">false</span>,</li>
<li>    localdata: tdData</li>
<li class="alt">};</li>
<li><span class="keyword">var</span> ordersDataAdapter = <span class="keyword">new</span> $.jqx.dataAdapter(ordersSource, {</li>
<li class="alt">    autoBind: <span class="keyword">true</span></li>
<li>});</li>
<li class="alt">orders = ordersDataAdapter.records;</li>
</ol>
</div>
</div>
<p>Now if you run the page you will get output as follows.</p>
<p><img fetchpriority="high" decoding="async" src="http://www.c-sharpcorner.com/UploadFile/65794e/implementing-nested-grid-in-jqwidget-jqx-grid/Images/imp1.png" alt="" width="635" height="297" /></p>
<p>If your grid is not populated, please go to your browser console and check whether the required files are loaded correctly.</p>
<p>Now it is time to implement the nested grid.</p>
<p><strong>Implementing the Nested Grid</strong></p>
<p>So our new settings for the parent grid must be as follows.</p>
<div>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-c">
<li class="alt">$(<span class="string">&#8220;#jqxgrid&#8221;</span>).jqxGrid(</li>
<li>{</li>
<li class="alt">    width: 850,</li>
<li>    height: 365,</li>
<li class="alt">    sortable: <span class="keyword">true</span>,</li>
<li>    source: source,</li>
<li class="alt">    rowdetails: <span class="keyword">true</span>,</li>
<li>    rowsheight: 35,</li>
<li class="alt">    initrowdetails: initrowdetails,</li>
<li>    rowdetailstemplate: {</li>
<li class="alt">        rowdetails: <span class="string">&#8220;&lt;div id=&#8217;grid&#8217; style=&#8217;margin: 10px;&#8217;&gt;&lt;/div&gt;&#8221;</span>,</li>
<li>        rowdetailsheight: 220,</li>
<li class="alt">        rowdetailshidden: <span class="keyword">true</span></li>
<li>    },</li>
<li class="alt">    ready: <span class="keyword">function</span>() {</li>
<li>        $(<span class="string">&#8220;#jqxgrid&#8221;</span>).jqxGrid(<span class="string">&#8216;showrowdetails&#8217;</span>, 1);</li>
<li class="alt">    },</li>
<li>    columns: [{</li>
<li class="alt">        text: <span class="string">&#8216;User Id&#8217;</span>,</li>
<li>        datafield: <span class="string">&#8216;UserId&#8217;</span>,</li>
<li class="alt">        hidden: <span class="keyword">true</span></li>
<li>    }, {</li>
<li class="alt">        text: <span class="string">&#8216;My Transactions&#8217;</span>,</li>
<li>        datafield: <span class="string">&#8216;TransactionName&#8217;</span></li>
<li class="alt">    }]</li>
<li>});</li>
</ol>
</div>
</div>
<p>And now we will create the function initrowdetails, you can see the code here.</p>
<div>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-c">
<li class="alt"><span class="keyword">var</span> nestedGrids = <span class="keyword">new</span> Array();</li>
<li><span class="comment">// create nested grid.  </span></li>
<li class="alt"><span class="keyword">var</span> initrowdetails = <span class="keyword">function</span>(index, parentElement, gridElement, record)</li>
<li>{</li>
<li class="alt">    <span class="keyword">var</span> id = record.uid.toString();</li>
<li>    <span class="keyword">var</span> grid = $($(parentElement).children()[0]);</li>
<li class="alt">    nestedGrids[index] = grid;</li>
<li>    <span class="keyword">var</span> filtergroup = <span class="keyword">new</span> $.jqx.filter();</li>
<li class="alt">    <span class="keyword">var</span> filter_or_operator = 1;</li>
<li>    <span class="keyword">var</span> filtervalue = id;</li>
<li class="alt">    <span class="keyword">var</span> filtercondition = <span class="string">&#8216;equal&#8217;</span>;</li>
<li>    <span class="keyword">var</span> filter = filtergroup.createfilter(<span class="string">&#8216;stringfilter&#8217;</span>, filtervalue, filtercondition);</li>
<li class="alt">    <span class="comment">// fill the orders depending on the id.  </span></li>
<li>    <span class="keyword">var</span> ordersbyid = [];</li>
<li class="alt">    <span class="keyword">for</span> (<span class="keyword">var</span> m = 0; m &lt; orders.length; m++) {</li>
<li>        <span class="keyword">var</span> result = filter.evaluate(orders[m][<span class="string">&#8220;UserId&#8221;</span>]);</li>
<li class="alt">        <span class="keyword">if</span> (result)</li>
<li>        ordersbyid.push(orders[m]);</li>
<li class="alt">    }</li>
<li>    <span class="keyword">var</span> secondaryDataFields = $.parseJSON(<span class="string">&#8216;[{ &#8220;name&#8221;: &#8220;UserId&#8221;, &#8220;type&#8221;: &#8220;int&#8221; },{ &#8220;name&#8221;: &#8220;TransactionName&#8221;, &#8220;type&#8221;: &#8220;string&#8221; },{ &#8220;name&#8221;: &#8220;tranDate&#8221;, &#8220;type&#8221;: &#8220;string&#8221; },{ &#8220;name&#8221;: &#8220;tranUser&#8221;, &#8220;type&#8221;: &#8220;string&#8221; }]&#8217;</span>);</li>
<li class="alt">    <span class="keyword">var</span> orderssource = {</li>
<li>        datafields: secondaryDataFields,</li>
<li class="alt">        id: <span class="string">&#8216;UserId&#8217;</span>,</li>
<li>        localdata: ordersbyid</li>
<li class="alt">    }</li>
<li>    <span class="keyword">var</span> nestedGridAdapter = <span class="keyword">new</span> $.jqx.dataAdapter(orderssource);</li>
<li class="alt">    <span class="keyword">var</span> secondaryGridColumn = $.parseJSON(<span class="string">&#8216;[{ &#8220;text&#8221;: &#8220;User Id&#8221;, &#8220;datafield&#8221;:&#8221;UserId&#8221; , &#8220;hidden&#8221;:&#8221;true&#8221;},{ &#8220;text&#8221;: &#8220;Transaction Name&#8221;, &#8220;datafield&#8221;:&#8221;TransactionName&#8221; },{ &#8220;text&#8221;: &#8220;Transaction Date&#8221;, &#8220;datafield&#8221;:&#8221;tranDate&#8221; },{ &#8220;text&#8221;: &#8220;User&#8221;, &#8220;datafield&#8221;:&#8221;tranUser&#8221; }]&#8217;</span>);</li>
<li>    <span class="keyword">if</span> (grid != <span class="keyword">null</span>) {</li>
<li class="alt">        grid.jqxGrid({</li>
<li>            source: nestedGridAdapter,</li>
<li class="alt">            width: 780,</li>
<li>            height: 200,</li>
<li class="alt">            columns: secondaryGridColumn</li>
<li>        });</li>
<li class="alt">    }</li>
<li>}</li>
</ol>
</div>
</div>
<p>You can see that the settings provided are the same as we provided for the parent grid and please note that the &#8220;id&#8221; in both of the sources are the same. We provide &#8220;UserId&#8221; as the key.</p>
<p><strong>Complete Code</strong></p>
<p>The following is the complete code.</p>
<div>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-xml">
<li class="alt">&lt;!DOCTYPE html<span class="tag">&gt;</span></li>
<li><span class="tag">&lt;</span><span class="tag-name">html</span><span class="tag">&gt;</span></li>
<li class="alt">    <span class="tag">&lt;</span><span class="tag-name">head</span><span class="tag">&gt;</span></li>
<li>        <span class="tag">&lt;</span><span class="tag-name">meta</span> <span class="attribute">name</span>=<span class="attribute-value">&#8220;viewport&#8221;</span> <span class="attribute">content</span>=<span class="attribute-value">&#8220;width=device-width&#8221;</span> <span class="tag">/&gt;</span></li>
<li class="alt">        <span class="tag">&lt;</span><span class="tag-name">link</span> <span class="attribute">href</span>=<span class="attribute-value">&#8220;jqwidgets/styles/jqx.base.css&#8221;</span> <span class="attribute">rel</span>=<span class="attribute-value">&#8220;stylesheet&#8221;</span> <span class="tag">/&gt;</span></li>
<li>        <span class="tag">&lt;</span><span class="tag-name">script</span> <span class="attribute">type</span>=<span class="attribute-value">&#8220;text/javascript&#8221;</span> <span class="attribute">src</span>=<span class="attribute-value">&#8220;jqwidgets/jquery-1.9.1.js&#8221;</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">script</span><span class="tag">&gt;</span></li>
<li class="alt">        <span class="tag">&lt;</span><span class="tag-name">script</span> <span class="attribute">type</span>=<span class="attribute-value">&#8220;text/javascript&#8221;</span><span class="tag">&gt;</span></li>
<li></li>
<li class="alt">    $(document).ready(function() {</li>
<li>    var <span class="attribute">tdData</span> = $.parseJSON(&#8216;[{&#8220;UserId&#8221;: &#8220;5&#8221;,&#8221;TransactionName&#8221;: &#8220;TRAN-Chennai&#8221;},{&#8220;UserId&#8221;: &#8220;6&#8221;,&#8221;TransactionName&#8221;: &#8220;TRAN-Kerala&#8221;}]&#8217;);</li>
<li class="alt">    var <span class="attribute">source</span> =</li>
<li>    {</li>
<li class="alt">        datafields: [{</li>
<li>            name: &#8216;UserId&#8217;,</li>
<li class="alt">            type: &#8216;int&#8217;</li>
<li>        }, {</li>
<li class="alt">            name: &#8216;TransactionName&#8217;,</li>
<li>            type: &#8216;string&#8217;</li>
<li class="alt">        }],</li>
<li></li>
<li class="alt">        id: &#8216;UserId&#8217;,</li>
<li></li>
<li class="alt">        datatype: &#8220;array&#8221;,</li>
<li></li>
<li class="alt">        async: false,</li>
<li></li>
<li class="alt">        localdata: tdData</li>
<li>    };</li>
<li class="alt">    var <span class="attribute">orderdetailsurl</span> = $.parseJSON(&#8216;[{&#8220;UserId&#8221;: &#8220;5&#8221;,&#8221;TransactionName&#8221;: &#8220;Adyar&#8221;,&#8221;tranDate&#8221;: &#8220;04/22/2015 1:35:52&#8243;,&#8221;tranUser&#8221;: &#8220;skannan&#8221;},{&#8220;UserId&#8221;: &#8220;5&#8221;,&#8221;TransactionName&#8221;: &#8220;Guindy&#8221;,&#8221;tranDate&#8221;: &#8220;04/22/2015 1:35:52&#8243;,&#8221;tranUser&#8221;: &#8220;skannan&#8221;},{&#8220;UserId&#8221;: &#8220;6&#8221;,&#8221;TransactionName&#8221;: &#8220;Trichur&#8221;,&#8221;tranDate&#8221;: &#8220;04/21/2015 1:46:50&#8243;,&#8221;tranUser&#8221;: &#8220;bmahadevan&#8221;}]&#8217;);</li>
<li>    var <span class="attribute">secondGridData</span> = $.parseJSON(&#8216;[{ &#8220;name&#8221;: &#8220;UserId&#8221;, &#8220;type&#8221;: &#8220;int&#8221; },{ &#8220;name&#8221;: &#8220;TransactionName&#8221;, &#8220;type&#8221;: &#8220;string&#8221; },{ &#8220;name&#8221;: &#8220;tranDate&#8221;, &#8220;type&#8221;: &#8220;string&#8221; },{ &#8220;name&#8221;: &#8220;tranUser&#8221;, &#8220;type&#8221;: &#8220;string&#8221; }]&#8217;);</li>
<li class="alt">    var <span class="attribute">ordersSource</span> =</li>
<li>    {</li>
<li class="alt">        datafields: secondGridData,</li>
<li>        datatype: &#8220;array&#8221;,</li>
<li class="alt">        localdata: orderdetailsurl,</li>
<li>        async: false</li>
<li class="alt">    };</li>
<li>    var <span class="attribute">ordersDataAdapter</span> = <span class="attribute-value">new</span> $.jqx.dataAdapter(ordersSource, {</li>
<li class="alt">        autoBind: true</li>
<li>    });</li>
<li class="alt">    <span class="attribute">orders</span> = <span class="attribute-value">ordersDataAdapter</span>.records;</li>
<li>    var <span class="attribute">nestedGrids</span> = <span class="attribute-value">new</span> Array();</li>
<li class="alt">    // create nested grid.</li>
<li>    var <span class="attribute">initrowdetails</span> = <span class="attribute-value">function</span>(index, parentElement, gridElement, record) {</li>
<li class="alt">        var <span class="attribute">id</span> = <span class="attribute-value">record</span>.uid.toString();</li>
<li>        var <span class="attribute">grid</span> = $($(parentElement).children()[0]);</li>
<li class="alt">        nestedGrids[index] = grid;</li>
<li>        var <span class="attribute">filtergroup</span> = <span class="attribute-value">new</span> $.jqx.filter();</li>
<li class="alt">        var <span class="attribute">filter_or_operator</span> = <span class="attribute-value">1</span>;</li>
<li>        var <span class="attribute">filtervalue</span> = <span class="attribute-value">id</span>;</li>
<li class="alt">        var <span class="attribute">filtercondition</span> = <span class="attribute-value">&#8216;equal&#8217;</span>;</li>
<li>        var <span class="attribute">filter</span> = <span class="attribute-value">filtergroup</span>.createfilter(&#8216;stringfilter&#8217;, filtervalue, filtercondition);</li>
<li class="alt">        // fill the orders depending on the id.</li>
<li>        var <span class="attribute">ordersbyid</span> = [];</li>
<li class="alt">        for (var <span class="attribute">m</span> = <span class="attribute-value">0</span>; m <span class="tag">&lt;</span> <span class="tag-name">orders.length</span>; m++) {</li>
<li>            var <span class="attribute">result</span> = <span class="attribute-value">filter</span>.evaluate(orders[m][&#8220;UserId&#8221;]);</li>
<li class="alt">            if (result)</li>
<li>            ordersbyid.push(orders[m]);</li>
<li class="alt">        }</li>
<li>        var <span class="attribute">secondaryDataFields</span> = $.parseJSON(&#8216;[{ &#8220;name&#8221;: &#8220;UserId&#8221;, &#8220;type&#8221;: &#8220;int&#8221; },{ &#8220;name&#8221;: &#8220;TransactionName&#8221;, &#8220;type&#8221;: &#8220;string&#8221; },{ &#8220;name&#8221;: &#8220;tranDate&#8221;, &#8220;type&#8221;: &#8220;string&#8221; },{ &#8220;name&#8221;: &#8220;tranUser&#8221;, &#8220;type&#8221;: &#8220;string&#8221; }]&#8217;);</li>
<li class="alt">        var <span class="attribute">orderssource</span> = {</li>
<li>            datafields: secondaryDataFields,</li>
<li class="alt">            id: &#8216;UserId&#8217;,</li>
<li>            localdata: ordersbyid</li>
<li class="alt">        }</li>
<li>        var <span class="attribute">nestedGridAdapter</span> = <span class="attribute-value">new</span> $.jqx.dataAdapter(orderssource);</li>
<li class="alt">        var <span class="attribute">secondaryGridColumn</span> = $.parseJSON(&#8216;[{ &#8220;text&#8221;: &#8220;User Id&#8221;, &#8220;datafield&#8221;:&#8221;UserId&#8221; , &#8220;hidden&#8221;:&#8221;true&#8221;},{ &#8220;text&#8221;: &#8220;Transaction Name&#8221;, &#8220;datafield&#8221;:&#8221;TransactionName&#8221; },{ &#8220;text&#8221;: &#8220;Transaction Date&#8221;, &#8220;datafield&#8221;:&#8221;tranDate&#8221; },{ &#8220;text&#8221;: &#8220;User&#8221;, &#8220;datafield&#8221;:&#8221;tranUser&#8221; }]&#8217;);</li>
<li>        if (grid != null) {</li>
<li class="alt">            grid.jqxGrid({</li>
<li>                source: nestedGridAdapter,</li>
<li class="alt">                width: 780,</li>
<li>                height: 200,</li>
<li class="alt">                columns: secondaryGridColumn</li>
<li>            });</li>
<li class="alt">        }</li>
<li>    }</li>
<li class="alt">    // creage jqxgrid</li>
<li>    $(&#8220;#jqxgrid&#8221;).jqxGrid(</li>
<li class="alt">    {</li>
<li>        width: 850,</li>
<li class="alt">        height: 365,</li>
<li>        sortable: true,</li>
<li class="alt">        source: source,</li>
<li>        rowdetails: true,</li>
<li class="alt">        rowsheight: 35,</li>
<li>        initrowdetails: initrowdetails,</li>
<li class="alt">        rowdetailstemplate: {</li>
<li>            rowdetails: &#8220;</li>
<li class="alt">            <span class="tag">&lt;</span><span class="tag-name">div</span> <span class="attribute">id</span>=<span class="attribute-value">&#8216;grid&#8217;</span> <span class="attribute">style</span>=<span class="attribute-value">&#8216;margin: 10px;&#8217;</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">div</span><span class="tag">&gt;</span>&#8220;,</li>
<li>            rowdetailsheight: 220,</li>
<li class="alt">            rowdetailshidden: true</li>
<li>        },</li>
<li class="alt">        ready: function() {</li>
<li>            $(&#8220;#jqxgrid&#8221;).jqxGrid(&#8216;showrowdetails&#8217;, 1);</li>
<li class="alt">        },</li>
<li>        columns: [{</li>
<li class="alt">            text: &#8216;User Id&#8217;,</li>
<li>            datafield: &#8216;UserId&#8217;,</li>
<li class="alt">            hidden: true</li>
<li>        }, {</li>
<li class="alt">            text: &#8216;My Transactions&#8217;,</li>
<li>            datafield: &#8216;TransactionName&#8217;</li>
<li class="alt">        }]</li>
<li>    });</li>
<li class="alt">});</li>
<li></li>
<li class="alt"></li>
<li><span class="tag">&lt;</span> /script<span class="tag">&gt;</span></li>
<li class="alt">        <span class="tag">&lt;</span><span class="tag-name">title</span><span class="tag">&gt;</span>JQWidget JQX Nested Grip Implementation @ sibeeshpassion <span class="tag">&lt;/</span><span class="tag-name">title</span><span class="tag">&gt;</span></li>
<li>    <span class="tag">&lt;/</span><span class="tag-name">head</span><span class="tag">&gt;</span></li>
<li class="alt">    <span class="tag">&lt;</span><span class="tag-name">body</span> <span class="attribute">class</span>=<span class="attribute-value">&#8216;default&#8217;</span><span class="tag">&gt;</span></li>
<li></li>
<li class="alt">JQWidget JQX Nested Grip Implementation @ sibeeshpassion</li>
<li>        <span class="tag">&lt;</span><span class="tag-name">br</span> <span class="tag">/&gt;</span></li>
<li class="alt">        <span class="tag">&lt;</span><span class="tag-name">div</span> <span class="attribute">id</span>=<span class="attribute-value">&#8220;jqxgrid&#8221;</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">div</span><span class="tag">&gt;</span></li>
<li>        <span class="tag">&lt;</span><span class="tag-name">script</span> <span class="attribute">type</span>=<span class="attribute-value">&#8220;text/javascript&#8221;</span> <span class="attribute">src</span>=<span class="attribute-value">&#8220;jqwidgets/jqxcore.js&#8221;</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">script</span><span class="tag">&gt;</span></li>
<li class="alt">        <span class="tag">&lt;</span><span class="tag-name">script</span> <span class="attribute">type</span>=<span class="attribute-value">&#8220;text/javascript&#8221;</span> <span class="attribute">src</span>=<span class="attribute-value">&#8220;jqwidgets/jqxdata.js&#8221;</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">script</span><span class="tag">&gt;</span></li>
<li>        <span class="tag">&lt;</span><span class="tag-name">script</span> <span class="attribute">type</span>=<span class="attribute-value">&#8220;text/javascript&#8221;</span> <span class="attribute">src</span>=<span class="attribute-value">&#8220;jqwidgets/jqxbuttons.js&#8221;</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">script</span><span class="tag">&gt;</span></li>
<li class="alt">        <span class="tag">&lt;</span><span class="tag-name">script</span> <span class="attribute">type</span>=<span class="attribute-value">&#8220;text/javascript&#8221;</span> <span class="attribute">src</span>=<span class="attribute-value">&#8220;jqwidgets/jqxscrollbar.js&#8221;</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">script</span><span class="tag">&gt;</span></li>
<li>        <span class="tag">&lt;</span><span class="tag-name">script</span> <span class="attribute">type</span>=<span class="attribute-value">&#8220;text/javascript&#8221;</span> <span class="attribute">src</span>=<span class="attribute-value">&#8220;jqwidgets/jqxmenu.js&#8221;</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">script</span><span class="tag">&gt;</span></li>
<li class="alt">        <span class="tag">&lt;</span><span class="tag-name">script</span> <span class="attribute">type</span>=<span class="attribute-value">&#8220;text/javascript&#8221;</span> <span class="attribute">src</span>=<span class="attribute-value">&#8220;jqwidgets/jqxgrid.js&#8221;</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">script</span><span class="tag">&gt;</span></li>
<li>        <span class="tag">&lt;</span><span class="tag-name">script</span> <span class="attribute">type</span>=<span class="attribute-value">&#8220;text/javascript&#8221;</span> <span class="attribute">src</span>=<span class="attribute-value">&#8220;jqwidgets/jqxgrid.selection.js&#8221;</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">script</span><span class="tag">&gt;</span></li>
<li class="alt">        <span class="tag">&lt;</span><span class="tag-name">script</span> <span class="attribute">type</span>=<span class="attribute-value">&#8220;text/javascript&#8221;</span> <span class="attribute">src</span>=<span class="attribute-value">&#8220;jqwidgets/jqxgrid.filter.js&#8221;</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">script</span><span class="tag">&gt;</span></li>
<li>        <span class="tag">&lt;</span><span class="tag-name">script</span> <span class="attribute">type</span>=<span class="attribute-value">&#8220;text/javascript&#8221;</span> <span class="attribute">src</span>=<span class="attribute-value">&#8220;jqwidgets/jqxgrid.sort.js&#8221;</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">script</span><span class="tag">&gt;</span></li>
<li class="alt">    <span class="tag">&lt;/</span><span class="tag-name">body</span><span class="tag">&gt;</span></li>
<li><span class="tag">&lt;/</span><span class="tag-name">html</span><span class="tag">&gt;</span></li>
</ol>
</div>
</div>
<p><strong>Output</strong></p>
<p>Now if things goes well, you will get output as follows.</p>
<p><img decoding="async" src="http://www.c-sharpcorner.com/UploadFile/65794e/implementing-nested-grid-in-jqwidget-jqx-grid/Images/imp2.png" alt="" width="635" height="293" /></p>
<p><img decoding="async" src="http://www.c-sharpcorner.com/UploadFile/65794e/implementing-nested-grid-in-jqwidget-jqx-grid/Images/imp3.png" alt="" width="635" height="293" /></p>
<p><strong>Conclusion</strong></p>
<p>I hope you liked this article. Please provide your valuable suggestions. It matters a lot. Please download the source code to learn more.</p>
<p><strong>Point of interest</strong></p>
<p>JQX Grid, JQWidget, JQX Nested Grid.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mail.sibeeshpassion.com/implementing-nested-grid-in-jqwidget-jqx-grid/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
