<?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>cellsrenderer &#8211; Sibeesh Passion</title>
	<atom:link href="https://www.sibeeshpassion.com/tag/cellsrenderer/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.sibeeshpassion.com</link>
	<description>My passion towards life</description>
	<lastBuildDate>Tue, 10 Jul 2018 10:40:39 +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>cellsrenderer &#8211; Sibeesh Passion</title>
	<link>https://www.sibeeshpassion.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Dynamically Apply Colour Coding in Grid With Dynamic Headers And Data</title>
		<link>https://www.sibeeshpassion.com/dynamically-apply-colour-coding-in-grid-with-dynamic-headers-and-data/</link>
					<comments>https://www.sibeeshpassion.com/dynamically-apply-colour-coding-in-grid-with-dynamic-headers-and-data/#disqus_thread</comments>
		
		<dc:creator><![CDATA[SibeeshVenu]]></dc:creator>
		<pubDate>Tue, 16 Feb 2016 07:33:54 +0000</pubDate>
				<category><![CDATA[JQWidgets]]></category>
		<category><![CDATA[JQX Grid]]></category>
		<category><![CDATA[cellsrenderer]]></category>
		<category><![CDATA[Colour Code In Grid]]></category>
		<category><![CDATA[dataAdapter]]></category>
		<guid isPermaLink="false">http://sibeecst_passion.com/?p=11229</guid>

					<description><![CDATA[In this post we will see how we can apply colour coding dynamically to jQWidgets jQXGrid. Normally a grid control can be used when you need to formulate the data either in row wise or column wise. Here in this pose we will discuss how to differentiate some rows of the grid from the other by applying some conditions over the values dynamically. We are taking an HTML table as the data source and in the client side we will be looping through each columns and rows. If you are new to JQX Grid, you can see some tips here. [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>In this post we will see how we can apply colour coding dynamically to <a href="http://sibeeshpassion.com/category/products/jqwidgets/" target="_blank">jQWidgets </a><a href="http://sibeeshpassion.com/category/products/jqwidgets/jqx-grid/" target="_blank">jQXGrid</a>. Normally a grid control can be used when you need to formulate the data either in row wise or column wise. Here in this pose we will discuss how to differentiate some rows of the grid from the other by applying some conditions over the values dynamically. We are taking an HTML table as the data source and in the client side we will be looping through each columns and rows. If you are new to JQX Grid, you can see some tips <em><a href="http://sibeeshpassion.com/tag/jqx-grid/" target="_blank">here</a></em>. I hope you will like this. </p>
<p><strong>Background</strong></p>
<p>If you are aware of the header column names and the data (Static data), you can apply the colour coding in a simple way as shown in this <a href="http://www.jqwidgets.com/jquery-widgets-demo/demos/jqxgrid/index.htm#demos/jqxgrid/gridcellclass.htm" target="_blank">link</a>. There we are using a property called <em>cellclassname</em> to fire an external function which returns the coloured HTML in return. </p>
<p>But in my case, the situation was different. The data source (HTML table here) was dynamic, hence I could not predict the header names and the data. As you know, to load a jQWidget JQX Grid, there you need the following things as mandatory. </p>
<li>datafields</li>
<li>columns</li>
<li>localdata or server side data</li>
<p>So to create/format the above mentioned properties, I am using an another way which we will discuss in this post. </p>
<p><strong>Using the code</strong></p>
<p>First of all, load the needed references. You can download the needed files from <a href="http://www.jqwidgets.com/download/" target="_blank">here</a>.</p>
<p>[html]<br />
 &lt;script src=&quot;jquery-1.9.1.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxcore.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxdata.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxbuttons.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxscrollbar.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxlistbox.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxdropdownlist.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxmenu.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxgrid.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxgrid.filter.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxgrid.sort.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxgrid.selection.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxgrid.pager.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxgrid.columnsresize.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxgrid.columnsreorder.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxdatatable.js&quot;&gt;&lt;/script&gt;<br />
    &lt;link href=&quot;JQXItems/jqwidgets/styles/jqx.base.css&quot; rel=&quot;stylesheet&quot; /&gt;<br />
[/html]</p>
<p>Now, we will create the HTML data. To make the processes easy, here I am going to paste a static HTML table(This table was dynamic for me).</p>
<p>[html]<br />
&lt;table id=&quot;initialTable&quot; style=&quot;width: 300px;display:none;&quot;&gt;<br />
        &lt;thead&gt;<br />
            &lt;tr&gt;<br />
                &lt;th&gt;Firstname<br />
                &lt;/th&gt;<br />
                &lt;th&gt;Lastname<br />
                &lt;/th&gt;<br />
                &lt;th&gt;Debits<br />
                &lt;/th&gt;<br />
            &lt;/tr&gt;<br />
        &lt;/thead&gt;<br />
        &lt;tbody&gt;<br />
            &lt;tr&gt;<br />
                &lt;td&gt;Eve<br />
                &lt;/td&gt;<br />
                &lt;td&gt;Jackson<br />
                &lt;/td&gt;<br />
                &lt;td&gt;94<br />
                &lt;/td&gt;<br />
            &lt;/tr&gt;<br />
            &lt;tr&gt;<br />
                &lt;td&gt;Clara<br />
                &lt;/td&gt;<br />
                &lt;td&gt;Oswald<br />
                &lt;/td&gt;<br />
                &lt;td&gt;17<br />
                &lt;/td&gt;<br />
            &lt;/tr&gt;<br />
            &lt;tr&gt;<br />
                &lt;td&gt;Benedict<br />
                &lt;/td&gt;<br />
                &lt;td&gt;Mason<br />
                &lt;/td&gt;<br />
                &lt;td&gt;33<br />
                &lt;/td&gt;<br />
            &lt;/tr&gt;<br />
            &lt;tr&gt;<br />
                &lt;td&gt;Eve<br />
                &lt;/td&gt;<br />
                &lt;td&gt;Jackson<br />
                &lt;/td&gt;<br />
                &lt;td&gt;94<br />
                &lt;/td&gt;<br />
            &lt;/tr&gt;<br />
            &lt;tr&gt;<br />
                &lt;td&gt;Clara<br />
                &lt;/td&gt;<br />
                &lt;td&gt;Oswald<br />
                &lt;/td&gt;<br />
                &lt;td&gt;17<br />
                &lt;/td&gt;<br />
            &lt;/tr&gt;<br />
            &lt;tr&gt;<br />
                &lt;td&gt;Benedict<br />
                &lt;/td&gt;<br />
                &lt;td&gt;Mason<br />
                &lt;/td&gt;<br />
                &lt;td&gt;33<br />
                &lt;/td&gt;<br />
            &lt;/tr&gt;<br />
            &lt;tr&gt;<br />
                &lt;td&gt;Eve<br />
                &lt;/td&gt;<br />
                &lt;td&gt;Jackson<br />
                &lt;/td&gt;<br />
                &lt;td&gt;94<br />
                &lt;/td&gt;<br />
            &lt;/tr&gt;<br />
            &lt;tr&gt;<br />
                &lt;td&gt;Clara<br />
                &lt;/td&gt;<br />
                &lt;td&gt;Oswald<br />
                &lt;/td&gt;<br />
                &lt;td&gt;17<br />
                &lt;/td&gt;<br />
            &lt;/tr&gt;<br />
            &lt;tr&gt;<br />
                &lt;td&gt;Benedict<br />
                &lt;/td&gt;<br />
                &lt;td&gt;Mason<br />
                &lt;/td&gt;<br />
                &lt;td&gt;33<br />
                &lt;/td&gt;<br />
            &lt;/tr&gt;<br />
            &lt;tr&gt;<br />
                &lt;td&gt;Eve<br />
                &lt;/td&gt;<br />
                &lt;td&gt;Jackson<br />
                &lt;/td&gt;<br />
                &lt;td&gt;94<br />
                &lt;/td&gt;<br />
            &lt;/tr&gt;<br />
            &lt;tr&gt;<br />
                &lt;td&gt;Clara<br />
                &lt;/td&gt;<br />
                &lt;td&gt;Oswald<br />
                &lt;/td&gt;<br />
                &lt;td&gt;17<br />
                &lt;/td&gt;<br />
            &lt;/tr&gt;<br />
            &lt;tr&gt;<br />
                &lt;td&gt;Benedict<br />
                &lt;/td&gt;<br />
                &lt;td&gt;Mason<br />
                &lt;/td&gt;<br />
                &lt;td&gt;33<br />
                &lt;/td&gt;<br />
            &lt;/tr&gt;<br />
        &lt;/tbody&gt;<br />
    &lt;/table&gt;<br />
[/html]</p>
<p>Then it is time to say where do you need to bind the grid.</p>
<p>[html]<br />
&lt;div id=&#8217;jqxWidget&#8217; style=&quot;font-size: 13px; font-family: Verdana; float: left;&quot;&gt;<br />
        &lt;div id=&quot;jqxgrid&quot;&gt;<br />
        &lt;/div&gt;<br />
    &lt;/div&gt;<br />
[/html]</p>
<p>Now we will define our grid as follows. </p>
<p>[js]<br />
$(&quot;#jqxgrid&quot;).jqxGrid(<br />
            {<br />
                width: 850,<br />
                autoheight: true,<br />
                source: dataAdapter,<br />
                columns: columnsArray,<br />
                pageable: true,<br />
                sortable: true,<br />
                filterable: true<br />
            });<br />
[/js]</p>
<p>As you can see we have applied <em>dataAdapter</em> as the source, below is the definition for your data adapter. </p>
<p>[js]<br />
  var dataAdapter = new $.jqx.dataAdapter(source);<br />
[/js]</p>
<p>Now we will create the source object as follows. </p>
<p>[js]<br />
 var source =<br />
            {<br />
                datatype: &quot;json&quot;,<br />
                datafields: dataFieldsArray,<br />
                localdata: data<br />
            };<br />
[/js]</p>
<p>As the grid definition is over, we can create our data, datafields, columns. Shall we? As I said earlier, our data source is a HTML table. We are looping through the trs to create the data and ths to create the datafields and columns. </p>
<p>[js]<br />
// select rows.<br />
            var rows = $(&quot;#initialTable tbody tr&quot;);<br />
            // select columns.<br />
            var columns = $(&quot;#initialTable thead th&quot;);<br />
            var data = [];<br />
            var dataFieldsArray = [];<br />
            var columnsArray = [];<br />
            for (var i = 0; i &lt; rows.length; i++) {<br />
                var row = rows&amp;#91;i&amp;#93;;<br />
                var datarow = {};<br />
                for (var j = 0; j &lt; columns.length; j++) {<br />
                    // get column&#8217;s title.<br />
                    var columnName = $.trim($(columns&amp;#91;j&amp;#93;).text());<br />
                    // select cell.<br />
                    var cell = $(row).find(&#8216;td:eq(&#8216; + j + &#8216;)&#8217;);<br />
                    var type = &#8216;string&#8217;;<br />
                    var format = &#8221;;<br />
                    var cellsalign = &#8216;left&#8217;;<br />
                    if (!isNaN(cell.text())) {<br />
                        type = &#8216;number&#8217;;<br />
                        format = &#8216;d&#8217;;<br />
                        cellsalign = &#8216;right&#8217;;<br />
                    }<br />
                    datarow&amp;#91;columnName&amp;#93; = $.trim(cell.text());<br />
                    if (i === 0) {<br />
                        dataFieldsArray.push({ name: columnName, type: type });<br />
                        columnsArray.push({ name: columnName, dataField: columnName, cellsrenderer: cellsrenderer, cellsformat: format, cellsalign: cellsalign });<br />
                    }<br />
                }<br />
                data&amp;#91;data.length&amp;#93; = datarow;<br />
            }<br />
&amp;#91;/js&amp;#93;</p>
<p>Have you noticed that when we push the the items to the &lt;em&gt;columnsArray&lt;/em&gt; we are calling the function &lt;em&gt;cellsrenderer&lt;/em&gt;. This &lt;em&gt;cellsrenderer&lt;/em&gt; function returns the HTML with coloured data as we expected. </p>
<p>[js]<br />
 var cellsrenderer = function (row, columnfield, value, defaulthtml, columnproperties, rowdata) {<br />
                if (parseFloat(rowdata.Debits) &lt; 30) {<br />
                    return &#8216;&lt;span style=&quot;margin: 4px; float: &#8216; + columnproperties.cellsalign + &#8216;; color: #ff0000;&quot;&gt;&#8217; + value + &#8216;&lt;/span&gt;&#8217;;<br />
                } else {<br />
                    return &#8216;&lt;span style=&quot;margin: 4px; float: &#8216; + columnproperties.cellsalign + &#8216;; color: #00ff00;&quot;&gt;&#8217; + value + &#8216;&lt;/span&gt;&#8217;;<br />
                }<br />
            };<br />
[/js]</p>
<p>Here in this function we will get the needed things like row, columnfield, value, defaulthtml, columnproperties, rowdata as parameters and we checks for the condition <em>rowdata.Debits<30</em>, if it is true we will apply the colour #ff0000 or #00ff00. </p>
<p>Once the formatting is done, we are pushing the items to the arrays. Now we can see the complete code.</p>
<p><strong>Complete code</strong></p>
<p>[html]<br />
&lt;!DOCTYPE html&gt;<br />
&lt;html lang=&quot;en&quot;&gt;<br />
&lt;head&gt;<br />
    &lt;title&gt;&lt;/title&gt;<br />
    &lt;script src=&quot;jquery-1.9.1.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxcore.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxdata.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxbuttons.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxscrollbar.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxlistbox.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxdropdownlist.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxmenu.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxgrid.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxgrid.filter.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxgrid.sort.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxgrid.selection.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxgrid.pager.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxgrid.columnsresize.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxgrid.columnsreorder.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxdatatable.js&quot;&gt;&lt;/script&gt;<br />
    &lt;link href=&quot;JQXItems/jqwidgets/styles/jqx.base.css&quot; rel=&quot;stylesheet&quot; /&gt;</p>
<p>    &lt;script type=&quot;text/javascript&quot;&gt;<br />
        $(document).ready(function () {<br />
            var cellsrenderer = function (row, columnfield, value, defaulthtml, columnproperties, rowdata) {<br />
                if (parseFloat(rowdata.Debits) &lt; 30) {<br />
                    return &#8216;&lt;span style=&quot;margin: 4px; float: &#8216; + columnproperties.cellsalign + &#8216;; color: #ff0000;&quot;&gt;&#8217; + value + &#8216;&lt;/span&gt;&#8217;;<br />
                } else {<br />
                    return &#8216;&lt;span style=&quot;margin: 4px; float: &#8216; + columnproperties.cellsalign + &#8216;; color: #00ff00;&quot;&gt;&#8217; + value + &#8216;&lt;/span&gt;&#8217;;<br />
                }<br />
            };</p>
<p>            // select rows.<br />
            var rows = $(&quot;#initialTable tbody tr&quot;);<br />
            // select columns.<br />
            var columns = $(&quot;#initialTable thead th&quot;);<br />
            var data = [];<br />
            var dataFieldsArray = [];<br />
            var columnsArray = [];<br />
            for (var i = 0; i &lt; rows.length; i++) {<br />
                var row = rows&amp;#91;i&amp;#93;;<br />
                var datarow = {};<br />
                for (var j = 0; j &lt; columns.length; j++) {<br />
                    // get column&#8217;s title.<br />
                    var columnName = $.trim($(columns&amp;#91;j&amp;#93;).text());<br />
                    // select cell.<br />
                    var cell = $(row).find(&#8216;td:eq(&#8216; + j + &#8216;)&#8217;);<br />
                    var type = &#8216;string&#8217;;<br />
                    var format = &#8221;;<br />
                    var cellsalign = &#8216;left&#8217;;<br />
                    if (!isNaN(cell.text())) {<br />
                        type = &#8216;number&#8217;;<br />
                        format = &#8216;d&#8217;;<br />
                        cellsalign = &#8216;right&#8217;;<br />
                    }<br />
                    datarow&amp;#91;columnName&amp;#93; = $.trim(cell.text());<br />
                    if (i === 0) {<br />
                        dataFieldsArray.push({ name: columnName, type: type });<br />
                        columnsArray.push({ name: columnName, dataField: columnName, cellsrenderer: cellsrenderer, cellsformat: format, cellsalign: cellsalign });<br />
                    }<br />
                }<br />
                data&amp;#91;data.length&amp;#93; = datarow;<br />
            }</p>
<p>            // prepare the data<br />
            var source =<br />
            {<br />
                datatype: &quot;json&quot;,<br />
                datafields: dataFieldsArray,<br />
                localdata: data<br />
            };<br />
            var dataAdapter = new $.jqx.dataAdapter(source);</p>
<p>            $(&quot;#jqxgrid&quot;).jqxGrid(<br />
            {<br />
                width: 850,<br />
                autoheight: true,<br />
                source: dataAdapter,<br />
                columns: columnsArray,<br />
                pageable: true,<br />
                sortable: true,<br />
                filterable: true<br />
            });<br />
        });<br />
    &lt;/script&gt;<br />
&lt;/head&gt;<br />
&lt;body class=&#8217;default&#8217;&gt;<br />
    &lt;table id=&quot;initialTable&quot; style=&quot;width: 300px;display:none;&quot;&gt;<br />
        &lt;thead&gt;<br />
            &lt;tr&gt;<br />
                &lt;th&gt;Firstname<br />
                &lt;/th&gt;<br />
                &lt;th&gt;Lastname<br />
                &lt;/th&gt;<br />
                &lt;th&gt;Debits<br />
                &lt;/th&gt;<br />
            &lt;/tr&gt;<br />
        &lt;/thead&gt;<br />
        &lt;tbody&gt;<br />
            &lt;tr&gt;<br />
                &lt;td&gt;Eve<br />
                &lt;/td&gt;<br />
                &lt;td&gt;Jackson<br />
                &lt;/td&gt;<br />
                &lt;td&gt;94<br />
                &lt;/td&gt;<br />
            &lt;/tr&gt;<br />
            &lt;tr&gt;<br />
                &lt;td&gt;Clara<br />
                &lt;/td&gt;<br />
                &lt;td&gt;Oswald<br />
                &lt;/td&gt;<br />
                &lt;td&gt;17<br />
                &lt;/td&gt;<br />
            &lt;/tr&gt;<br />
            &lt;tr&gt;<br />
                &lt;td&gt;Benedict<br />
                &lt;/td&gt;<br />
                &lt;td&gt;Mason<br />
                &lt;/td&gt;<br />
                &lt;td&gt;33<br />
                &lt;/td&gt;<br />
            &lt;/tr&gt;<br />
            &lt;tr&gt;<br />
                &lt;td&gt;Eve<br />
                &lt;/td&gt;<br />
                &lt;td&gt;Jackson<br />
                &lt;/td&gt;<br />
                &lt;td&gt;94<br />
                &lt;/td&gt;<br />
            &lt;/tr&gt;<br />
            &lt;tr&gt;<br />
                &lt;td&gt;Clara<br />
                &lt;/td&gt;<br />
                &lt;td&gt;Oswald<br />
                &lt;/td&gt;<br />
                &lt;td&gt;17<br />
                &lt;/td&gt;<br />
            &lt;/tr&gt;<br />
            &lt;tr&gt;<br />
                &lt;td&gt;Benedict<br />
                &lt;/td&gt;<br />
                &lt;td&gt;Mason<br />
                &lt;/td&gt;<br />
                &lt;td&gt;33<br />
                &lt;/td&gt;<br />
            &lt;/tr&gt;<br />
            &lt;tr&gt;<br />
                &lt;td&gt;Eve<br />
                &lt;/td&gt;<br />
                &lt;td&gt;Jackson<br />
                &lt;/td&gt;<br />
                &lt;td&gt;94<br />
                &lt;/td&gt;<br />
            &lt;/tr&gt;<br />
            &lt;tr&gt;<br />
                &lt;td&gt;Clara<br />
                &lt;/td&gt;<br />
                &lt;td&gt;Oswald<br />
                &lt;/td&gt;<br />
                &lt;td&gt;17<br />
                &lt;/td&gt;<br />
            &lt;/tr&gt;<br />
            &lt;tr&gt;<br />
                &lt;td&gt;Benedict<br />
                &lt;/td&gt;<br />
                &lt;td&gt;Mason<br />
                &lt;/td&gt;<br />
                &lt;td&gt;33<br />
                &lt;/td&gt;<br />
            &lt;/tr&gt;<br />
            &lt;tr&gt;<br />
                &lt;td&gt;Eve<br />
                &lt;/td&gt;<br />
                &lt;td&gt;Jackson<br />
                &lt;/td&gt;<br />
                &lt;td&gt;94<br />
                &lt;/td&gt;<br />
            &lt;/tr&gt;<br />
            &lt;tr&gt;<br />
                &lt;td&gt;Clara<br />
                &lt;/td&gt;<br />
                &lt;td&gt;Oswald<br />
                &lt;/td&gt;<br />
                &lt;td&gt;17<br />
                &lt;/td&gt;<br />
            &lt;/tr&gt;<br />
            &lt;tr&gt;<br />
                &lt;td&gt;Benedict<br />
                &lt;/td&gt;<br />
                &lt;td&gt;Mason<br />
                &lt;/td&gt;<br />
                &lt;td&gt;33<br />
                &lt;/td&gt;<br />
            &lt;/tr&gt;<br />
        &lt;/tbody&gt;<br />
    &lt;/table&gt;</p>
<p>    &lt;p style=&quot;font-family: Verdana;&quot;&gt;<br />
        Dynamically apply colour coding in Grid<br />
    &lt;/p&gt;<br />
    &lt;div id=&#8217;jqxWidget&#8217; style=&quot;font-size: 13px; font-family: Verdana; float: left;&quot;&gt;<br />
        &lt;div id=&quot;jqxgrid&quot;&gt;<br />
        &lt;/div&gt;<br />
    &lt;/div&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
[/html]</p>
<p><strong>Output</strong></p>
<div id="attachment_11232" style="width: 660px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2016/02/Dynamically-apply-colour-coding-in-Grid-e1455607915795.png"><img fetchpriority="high" decoding="async" aria-describedby="caption-attachment-11232" src="http://sibeeshpassion.com/wp-content/uploads/2016/02/Dynamically-apply-colour-coding-in-Grid-e1455607915795.png" alt="Dynamically apply colour coding in Grid" width="650" height="285" class="size-full wp-image-11232" srcset="/wp-content/uploads/2016/02/Dynamically-apply-colour-coding-in-Grid-e1455607915795.png 650w, /wp-content/uploads/2016/02/Dynamically-apply-colour-coding-in-Grid-e1455607915795-300x132.png 300w, /wp-content/uploads/2016/02/Dynamically-apply-colour-coding-in-Grid-e1455607915795-400x175.png 400w" sizes="(max-width: 650px) 100vw, 650px" /></a><p id="caption-attachment-11232" class="wp-caption-text">Dynamically apply colour coding in Grid</p></div>
<p><strong>Conclusion</strong></p>
<p>Did I miss anything that you may think which is needed? Could you find this post as useful? I hope you liked this article. Please share me your valuable suggestions and feedback.</p>
<p><strong>Your turn. What do you think?</strong></p>
<p>A blog isn’t a blog without comments, but do try to stay on topic. If you have a question unrelated to this post, you’re better off posting it on C# Corner, Code Project, Stack Overflow, Asp.Net Forum instead of commenting here. Tweet or email me a link to your question there and I’ll definitely try to help if I can.</p>
<p>Kindest Regards<br />
Sibeesh Venu</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.sibeeshpassion.com/dynamically-apply-colour-coding-in-grid-with-dynamic-headers-and-data/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>a href Columns In Grid</title>
		<link>https://www.sibeeshpassion.com/a-href-columns-in-grid/</link>
					<comments>https://www.sibeeshpassion.com/a-href-columns-in-grid/#disqus_thread</comments>
		
		<dc:creator><![CDATA[SibeeshVenu]]></dc:creator>
		<pubDate>Wed, 11 Nov 2015 14:18:54 +0000</pubDate>
				<category><![CDATA[JQuery]]></category>
		<category><![CDATA[JQWidgets]]></category>
		<category><![CDATA[JQX Grid]]></category>
		<category><![CDATA[Json]]></category>
		<category><![CDATA[Products]]></category>
		<category><![CDATA[a href Columns In Grid]]></category>
		<category><![CDATA[cellsrenderer]]></category>
		<category><![CDATA[JQXGrid]]></category>
		<guid isPermaLink="false">http://sibeecst_passion.com/?p=10959</guid>

					<description><![CDATA[In this post we will how we can customize a column in jQWidget jQX Grid. We will make one of the columns values to a hreaf tag. First we will load the grid from the a custom json data and then we will use cellsrenderer function to format the columns values. I hope you will like this. Background We all works in grid controls. Sometimes you may need to customize the grid and its column values. Here I am giving you custom demo of the same. In this article we are going to customize the grid column contents to a [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>In this post we will how we can customize a column in <a href="http://sibeeshpassion.com/category/jqwidgets/" target="_blank">jQWidget</a> jQX Grid. We will make one of the columns values to a hreaf tag. First we will load the grid from the a custom json data and then we will use cellsrenderer function to format the columns values. I hope you will like this. </p>
<p><strong>Background</strong></p>
<p>We all works in grid controls. Sometimes you may need to customize the grid and its column values. Here I am giving you custom demo of the same. In this article we are going to customize the grid column contents to a href tags.</p>
<p><strong>Using the code</strong></p>
<p>To show this demo, I am using jQWidget jQX Grid control. If you are new to jQX Grid, you can find out some introduction here: <a href="http://sibeeshpassion.com/category/products/jqwidgets/" target="_blank">jQWidget JQX Grid</a></p>
<p>Now we are going to load the grid first. I hope you have already checked how to load the grid. Please see the below code. </p>
<p><em>Create an HTML page</em></p>
<p>[html]<br />
&lt;!DOCTYPE html&gt;<br />
&lt;html lang=&quot;en&quot;&gt;<br />
&lt;head&gt;<br />
    &lt;title&gt;Href Columns In Grid &#8211; Sibeesh Passion&lt;/title&gt;<br />
   &lt;/head&gt;<br />
&lt;body&gt;<br />
    &lt;h3&gt;Href Columns In Grid &#8211; Sibeesh Passion&lt;/h3&gt;<br />
    &lt;br /&gt;<br />
    &lt;div id=&quot;jqxgrid&quot;&gt;&lt;/div&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</p>
<p>[/html]</p>
<p><em>Add the needed references</em></p>
<p>[html]<br />
 &lt;script src=&quot;jquery-1.9.1.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxcore.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxdata.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxbuttons.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxscrollbar.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxlistbox.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxdropdownlist.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxmenu.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxgrid.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxgrid.filter.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxgrid.sort.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxgrid.selection.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxgrid.pager.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxgrid.columnsresize.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxgrid.columnsreorder.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxgrid.export.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxdata.export.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxdatatable.js&quot;&gt;&lt;/script&gt;<br />
    &lt;link href=&quot;JQXItems/jqwidgets/styles/jqx.base.css&quot; rel=&quot;stylesheet&quot; /&gt;<br />
[/html]</p>
<p>Here comes the main part.</p>
<p><strong>Grid Settings or Grid Initialization</strong></p>
<p>[js]<br />
&lt;script type=&quot;text/javascript&quot;&gt;<br />
        $(document).ready(function () {<br />
            var columntohref = function (row, column, value) {<br />
                if (value.indexOf(&#8216;#&#8217;) != -1) {<br />
                    value = value.substring(0, value.indexOf(&#8216;#&#8217;));<br />
                }<br />
                var format = { target: &#8216;&quot;_blank&quot;&#8217; };<br />
                var html = $.jqx.dataFormat.formatlink(value, format);<br />
                return html;<br />
            }<br />
            var data =<br />
            {<br />
                datatype: &quot;json&quot;,<br />
                datafields: [{ &quot;name&quot;: &quot;LinkName&quot;, &quot;type&quot;: &quot;string&quot; }, { &quot;name&quot;: &quot;Link&quot;, &quot;type&quot;: &quot;string&quot; }],<br />
                url: &quot;CustomData.txt&quot;<br />
            };<br />
            $(&quot;#jqxgrid&quot;).jqxGrid(<br />
                  {<br />
                      source: data,<br />
                      columns: [{ &quot;text&quot;: &quot;LinkName&quot;, &quot;dataField&quot;: &quot;LinkName&quot;, width: &quot;300&quot; }, { &quot;text&quot;: &quot;Link&quot;, &quot;dataField&quot;: &quot;Link&quot;, cellsrenderer: columntohref, width: &quot;300&quot; }]<br />
                  });<br />
        });<br />
    &lt;/script&gt;<br />
[/js]</p>
<p><strong>Sample data</strong></p>
<p>Following is the contents of <em>CustomData.txt</em></p>
<p>[js]<br />
[{&quot;LinkName&quot;:&quot;Sibeesh Passion&quot;,&quot;Link&quot;:&quot;http://www.sibeeshpassion.com&quot;},{&quot;LinkName&quot;:&quot;C-Sharp Corner&quot;,&quot;Link&quot;:&quot;http://www.c-sharpcorner.com&quot;},{&quot;LinkName&quot;:&quot;Facebook&quot;,&quot;Link&quot;:&quot;http://www.fb.com&quot;},{&quot;LinkName&quot;:&quot;Google&quot;,&quot;Link&quot;:&quot;http://www.google.com&quot;}]<br />
[/js]</p>
<p>As you can find out in the above code we are using cellsrenderer property to call the function <em>columntohref</em> which does the formatting. We are formatting the data as below ,</p>
<p>[js]<br />
$.jqx.dataFormat.formatlink(value, format)<br />
[/js]</p>
<p>Shall we check our output now? </p>
<p><strong>Output</strong></p>
<div id="attachment_10960" style="width: 660px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2015/11/href_columns_in_grid-e1447251398918.png"><img decoding="async" aria-describedby="caption-attachment-10960" src="http://sibeeshpassion.com/wp-content/uploads/2015/11/href_columns_in_grid-e1447251398918.png" alt="Column values to a href" width="650" height="497" class="size-full wp-image-10960" srcset="/wp-content/uploads/2015/11/href_columns_in_grid-e1447251398918.png 650w, /wp-content/uploads/2015/11/href_columns_in_grid-e1447251398918-300x229.png 300w, /wp-content/uploads/2015/11/href_columns_in_grid-e1447251398918-400x306.png 400w" sizes="(max-width: 650px) 100vw, 650px" /></a><p id="caption-attachment-10960" class="wp-caption-text">Column values to a href</p></div>
<p><strong>Complete Code</strong></p>
<p>[html]<br />
&lt;!DOCTYPE html&gt;<br />
&lt;html lang=&quot;en&quot;&gt;<br />
&lt;head&gt;<br />
    &lt;title&gt;Href Columns In Grid &#8211; Sibeesh Passion&lt;/title&gt;<br />
    &lt;script src=&quot;jquery-1.9.1.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxcore.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxdata.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxbuttons.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxscrollbar.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxlistbox.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxdropdownlist.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxmenu.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxgrid.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxgrid.filter.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxgrid.sort.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxgrid.selection.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxgrid.pager.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxgrid.columnsresize.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxgrid.columnsreorder.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxgrid.export.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxdata.export.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script type=&quot;text/javascript&quot; src=&quot;JQXItems/jqwidgets/jqxdatatable.js&quot;&gt;&lt;/script&gt;<br />
    &lt;link href=&quot;JQXItems/jqwidgets/styles/jqx.base.css&quot; rel=&quot;stylesheet&quot; /&gt;</p>
<p>    &lt;script type=&quot;text/javascript&quot;&gt;<br />
        $(document).ready(function () {<br />
            var columntohref = function (row, column, value) {<br />
                if (value.indexOf(&#8216;#&#8217;) != -1) {<br />
                    value = value.substring(0, value.indexOf(&#8216;#&#8217;));<br />
                }<br />
                var format = { target: &#8216;&quot;_blank&quot;&#8217; };<br />
                var html = $.jqx.dataFormat.formatlink(value, format);<br />
                return html;<br />
            }<br />
            var data =<br />
            {<br />
                datatype: &quot;json&quot;,<br />
                datafields: [{ &quot;name&quot;: &quot;LinkName&quot;, &quot;type&quot;: &quot;string&quot; }, { &quot;name&quot;: &quot;Link&quot;, &quot;type&quot;: &quot;string&quot; }],<br />
                url: &quot;CustomData.txt&quot;<br />
            };<br />
            $(&quot;#jqxgrid&quot;).jqxGrid(<br />
                  {<br />
                      source: data,<br />
                      columns: [{ &quot;text&quot;: &quot;LinkName&quot;, &quot;dataField&quot;: &quot;LinkName&quot;, width: &quot;300&quot; }, { &quot;text&quot;: &quot;Link&quot;, &quot;dataField&quot;: &quot;Link&quot;, cellsrenderer: columntohref, width: &quot;300&quot; }]<br />
                  });<br />
        });<br />
    &lt;/script&gt;<br />
&lt;/head&gt;<br />
&lt;body class=&#8217;default&#8217;&gt;<br />
    &lt;h2&gt;Href Columns In Grid &#8211; Sibeesh Passion&lt;/h2&gt;<br />
    &lt;div id=&quot;jqxgrid&quot;&gt;&lt;/div&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
[/html]</p>
<p><strong>Conclusion</strong></p>
<p>Did I miss anything that you may think which is needed? Could you find this post as useful? I hope you liked this article. Please share me your valuable suggestions and feedback.</p>
<p><strong>Your turn. What do you think?</strong></p>
<p>A blog isn’t a blog without comments, but do try to stay on topic. If you have a question unrelated to this post, you’re better off posting it on C# Corner, Code Project, Stack Overflow, Asp.Net Forum instead of commenting here. Tweet or email me a link to your question there and I’ll definitely try to help if I can.</p>
<p>Kindest Regards<br />
Sibeesh Venu</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.sibeeshpassion.com/a-href-columns-in-grid/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
