<?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>datagrid</title>
	<atom:link href="https://khalil232.com/tag/datagrid/feed/" rel="self" type="application/rss+xml" />
	<link>https://khalil232.com</link>
	<description></description>
	<lastBuildDate>Sun, 12 Apr 2026 18:11:29 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://i0.wp.com/khalil232.com/wp-content/uploads/2023/12/khalil232-favicon-color.png?fit=32%2C32&#038;ssl=1</url>
	<title>datagrid</title>
	<link>https://khalil232.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">222554886</site>	<item>
		<title>How to have different colors on rows based on one field in row in oj-data-grid</title>
		<link>https://khalil232.com/vbcs-tutorials/217/how-to-have-different-colors-on-rows-based-on-one-field-in-row-in-oj-data-grid/</link>
		
		<dc:creator><![CDATA[khalil]]></dc:creator>
		<pubDate>Mon, 04 Dec 2023 19:10:44 +0000</pubDate>
				<category><![CDATA[VBCS-Tutorials]]></category>
		<category><![CDATA[datagrid]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[OJET]]></category>
		<category><![CDATA[VBCS]]></category>
		<guid isPermaLink="false">https://khalil232.com/?p=217</guid>

					<description><![CDATA[On a data grid, we can use a function in the cell.class-name attribute to dynamically pass the class name based on row data. &#8220;cellContext&#8221; will contain the required information. We can use console.log() to identify the structure. This can be used for other attributes, like &#8220;header.column.class-name&#8221; as well on oj-data-grid This can be used when [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">On a data grid, we can use a function in the <strong>cell.class-name</strong> attribute to dynamically pass the class name based on row data.</p>



<p class="wp-block-paragraph">&#8220;<em>cellContext</em>&#8221; will contain the required information. We can use console.log() to identify the structure.</p>



<p class="wp-block-paragraph">This can be used for other attributes, like <em>&#8220;header.column.class-name&#8221;</em> as well on oj-data-grid</p>



<p class="wp-block-paragraph">This can be used when we want show different style for different rows, like </p>



<ul class="wp-block-list">
<li>If we want to highlight top performer in a data set,</li>



<li>or differently show calculated fields </li>



<li>or if we want to show different type with a different color</li>
</ul>



<p class="wp-block-paragraph">Sample HTML code:</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="" style="font-size:clamp(14px, .875rem, 21px);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" data-code="&lt;div class=&quot;oj-flex&quot;&gt;
  &lt;div class=&quot;oj-flex-item oj-sm-12 &quot;&gt;
    &lt;h5&gt;Data grid&lt;/h5&gt;
    &lt;oj-data-grid id=&quot;datagrid&quot; style=&quot;width:100%;height:400px&quot; aria-label=&quot;My Data Grid&quot; 
      data='{{ salaryDataADP }}'
      header.column.style=&quot;[[ headerColStyle ]]&quot; header.column.resizable.width=&quot;enable&quot;
      header.column.resizable.height=&quot;enable&quot; header.row.resizable.width=&quot;enable&quot;     
      header.row.resizable.height=&quot;enable&quot;
      header.column.class-name=&quot;oj-helper-justify-content-flex-start&quot; 
      cell.class-name=&quot;[[ cellClassNameFunc ]]&quot;
      cell.style=&quot;width: 200px;&quot;&gt;     
    &lt;/oj-data-grid&gt;
  &lt;/div&gt;
&lt;/div&gt;" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #808080">&lt;</span><span style="color: #569CD6">div</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">class</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;oj-flex&quot;</span><span style="color: #808080">&gt;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #808080">&lt;</span><span style="color: #569CD6">div</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">class</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;oj-flex-item oj-sm-12 &quot;</span><span style="color: #808080">&gt;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #808080">&lt;</span><span style="color: #569CD6">h5</span><span style="color: #808080">&gt;</span><span style="color: #D4D4D4">Data grid</span><span style="color: #808080">&lt;/</span><span style="color: #569CD6">h5</span><span style="color: #808080">&gt;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #808080">&lt;</span><span style="color: #569CD6">oj-data-grid</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">id</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;datagrid&quot;</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">style</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;width:100%;height:400px&quot;</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">aria-label</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;My Data Grid&quot;</span><span style="color: #D4D4D4"> </span></span>
<span class="line"><span style="color: #D4D4D4">      </span><span style="color: #9CDCFE">data</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&#39;{{ salaryDataADP }}&#39;</span></span>
<span class="line"><span style="color: #D4D4D4">      </span><span style="color: #9CDCFE">header.column.style</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;[[ headerColStyle ]]&quot;</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">header.column.resizable.width</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;enable&quot;</span></span>
<span class="line"><span style="color: #D4D4D4">      </span><span style="color: #9CDCFE">header.column.resizable.height</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;enable&quot;</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">header.row.resizable.width</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;enable&quot;</span><span style="color: #D4D4D4">     </span></span>
<span class="line"><span style="color: #D4D4D4">      </span><span style="color: #9CDCFE">header.row.resizable.height</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;enable&quot;</span></span>
<span class="line"><span style="color: #D4D4D4">      </span><span style="color: #9CDCFE">header.column.class-name</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;oj-helper-justify-content-flex-start&quot;</span><span style="color: #D4D4D4"> </span></span>
<span class="line"><span style="color: #D4D4D4">      </span><span style="color: #9CDCFE">cell.class-name</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;[[ cellClassNameFunc ]]&quot;</span></span>
<span class="line"><span style="color: #D4D4D4">      </span><span style="color: #9CDCFE">cell.style</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;width: 200px;&quot;</span><span style="color: #808080">&gt;</span><span style="color: #D4D4D4">     </span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #808080">&lt;/</span><span style="color: #569CD6">oj-data-grid</span><span style="color: #808080">&gt;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #808080">&lt;/</span><span style="color: #569CD6">div</span><span style="color: #808080">&gt;</span></span>
<span class="line"><span style="color: #808080">&lt;/</span><span style="color: #569CD6">div</span><span style="color: #808080">&gt;</span></span></code></pre></div>



<p class="wp-block-paragraph">Sample JS code:</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="" style="font-size:clamp(14px, .875rem, 21px);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" data-code="this.cellClassNameFunc = function (cellContext) {
  let cellRowIndex = cellContext.indexes.row;
  let classNameStr = &quot;oj-helper-justify-content &quot;;
  
  // to do styling based on index 
  // if (cellRowIndex % 3 === 0) {
  //   classNameStr += &quot;oj-bg-success-10 oj-text-color-success&quot;;
  // } else if (cellRowIndex % 3 === 1) {
  //   classNameStr += &quot;oj-bg-danger-30	 oj-text-color-danger&quot;;
  // } else {
  //   classNameStr += &quot;oj-bg-warning-30 oj-text-color-warning&quot;;
  // }
  
  let key = cellContext.key;
  console.log(cellContext);
  console.log(cellContext.datasource.data[cellRowIndex]);
  let rowData = cellContext.datasource.data.find((x) =&gt; x.id === key);
  if (rowData.city === &quot;Delhi&quot; || rowData.city === &quot;Banglore&quot;) {
    classNameStr += &quot;oj-bg-success-10 oj-text-color-success&quot;;
  } else if (rowData.city === &quot;Hyderabad&quot; || rowData.city === &quot;Kolkata&quot;) {
    classNameStr += &quot;oj-bg-danger-30	 oj-text-color-danger&quot;;
  } else if (rowData.city === &quot;Mumbai&quot; || rowData.city === &quot;Nagpur&quot;) {
    classNameStr += &quot;oj-bg-warning-30 oj-text-color-warning&quot;;
  }
  
  cellContext.datasource[cellRowIndex];
  
  return classNameStr;
};" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">this</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">cellClassNameFunc</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">function</span><span style="color: #D4D4D4"> (</span><span style="color: #9CDCFE">cellContext</span><span style="color: #D4D4D4">) {</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">let</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">cellRowIndex</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">cellContext</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">indexes</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">row</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">let</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">classNameStr</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;oj-helper-justify-content &quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #6A9955">// to do styling based on index </span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #6A9955">// if (cellRowIndex % 3 === 0) {</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #6A9955">//   classNameStr += &quot;oj-bg-success-10 oj-text-color-success&quot;;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #6A9955">// } else if (cellRowIndex % 3 === 1) {</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #6A9955">//   classNameStr += &quot;oj-bg-danger-30	 oj-text-color-danger&quot;;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #6A9955">// } else {</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #6A9955">//   classNameStr += &quot;oj-bg-warning-30 oj-text-color-warning&quot;;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #6A9955">// }</span></span>
<span class="line"><span style="color: #D4D4D4">  </span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">let</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">key</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">cellContext</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">key</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #9CDCFE">console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">log</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">cellContext</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #9CDCFE">console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">log</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">cellContext</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">datasource</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">data</span><span style="color: #D4D4D4">[</span><span style="color: #9CDCFE">cellRowIndex</span><span style="color: #D4D4D4">]);</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">let</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">rowData</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">cellContext</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">datasource</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">data</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">find</span><span style="color: #D4D4D4">((</span><span style="color: #9CDCFE">x</span><span style="color: #D4D4D4">) </span><span style="color: #569CD6">=&gt;</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">x</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">id</span><span style="color: #D4D4D4"> === </span><span style="color: #9CDCFE">key</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #C586C0">if</span><span style="color: #D4D4D4"> (</span><span style="color: #9CDCFE">rowData</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">city</span><span style="color: #D4D4D4"> === </span><span style="color: #CE9178">&quot;Delhi&quot;</span><span style="color: #D4D4D4"> || </span><span style="color: #9CDCFE">rowData</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">city</span><span style="color: #D4D4D4"> === </span><span style="color: #CE9178">&quot;Banglore&quot;</span><span style="color: #D4D4D4">) {</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">classNameStr</span><span style="color: #D4D4D4"> += </span><span style="color: #CE9178">&quot;oj-bg-success-10 oj-text-color-success&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  } </span><span style="color: #C586C0">else</span><span style="color: #D4D4D4"> </span><span style="color: #C586C0">if</span><span style="color: #D4D4D4"> (</span><span style="color: #9CDCFE">rowData</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">city</span><span style="color: #D4D4D4"> === </span><span style="color: #CE9178">&quot;Hyderabad&quot;</span><span style="color: #D4D4D4"> || </span><span style="color: #9CDCFE">rowData</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">city</span><span style="color: #D4D4D4"> === </span><span style="color: #CE9178">&quot;Kolkata&quot;</span><span style="color: #D4D4D4">) {</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">classNameStr</span><span style="color: #D4D4D4"> += </span><span style="color: #CE9178">&quot;oj-bg-danger-30	 oj-text-color-danger&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  } </span><span style="color: #C586C0">else</span><span style="color: #D4D4D4"> </span><span style="color: #C586C0">if</span><span style="color: #D4D4D4"> (</span><span style="color: #9CDCFE">rowData</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">city</span><span style="color: #D4D4D4"> === </span><span style="color: #CE9178">&quot;Mumbai&quot;</span><span style="color: #D4D4D4"> || </span><span style="color: #9CDCFE">rowData</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">city</span><span style="color: #D4D4D4"> === </span><span style="color: #CE9178">&quot;Nagpur&quot;</span><span style="color: #D4D4D4">) {</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">classNameStr</span><span style="color: #D4D4D4"> += </span><span style="color: #CE9178">&quot;oj-bg-warning-30 oj-text-color-warning&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  }</span></span>
<span class="line"><span style="color: #D4D4D4">  </span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #9CDCFE">cellContext</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">datasource</span><span style="color: #D4D4D4">[</span><span style="color: #9CDCFE">cellRowIndex</span><span style="color: #D4D4D4">];</span></span>
<span class="line"><span style="color: #D4D4D4">  </span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #C586C0">return</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">classNameStr</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">};</span></span></code></pre></div>



<p class="wp-block-paragraph">Screenshots </p>



<p class="wp-block-paragraph">Choosing row background color and text color based on city </p>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" fetchpriority="high" decoding="async" width="1024" height="646" src="https://i0.wp.com/khalil232.com/wp-content/uploads/2023/12/image-2.png?resize=1024%2C646&#038;ssl=1" alt="" class="wp-image-218" srcset="https://i0.wp.com/khalil232.com/wp-content/uploads/2023/12/image-2.png?resize=1024%2C646&amp;ssl=1 1024w, https://i0.wp.com/khalil232.com/wp-content/uploads/2023/12/image-2.png?resize=300%2C189&amp;ssl=1 300w, https://i0.wp.com/khalil232.com/wp-content/uploads/2023/12/image-2.png?resize=768%2C484&amp;ssl=1 768w, https://i0.wp.com/khalil232.com/wp-content/uploads/2023/12/image-2.png?w=1194&amp;ssl=1 1194w" sizes="(max-width: 1000px) 100vw, 1000px" /></figure>



<figure class="wp-block-image size-full"><img data-recalc-dims="1" decoding="async" width="1013" height="601" src="https://i0.wp.com/khalil232.com/wp-content/uploads/2023/12/image-4.png?resize=1013%2C601&#038;ssl=1" alt="" class="wp-image-220" srcset="https://i0.wp.com/khalil232.com/wp-content/uploads/2023/12/image-4.png?w=1013&amp;ssl=1 1013w, https://i0.wp.com/khalil232.com/wp-content/uploads/2023/12/image-4.png?resize=300%2C178&amp;ssl=1 300w, https://i0.wp.com/khalil232.com/wp-content/uploads/2023/12/image-4.png?resize=768%2C456&amp;ssl=1 768w" sizes="(max-width: 1000px) 100vw, 1000px" /></figure>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Choosing row background color and text color based on index </p>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" decoding="async" width="1024" height="627" src="https://i0.wp.com/khalil232.com/wp-content/uploads/2023/12/image-3.png?resize=1024%2C627&#038;ssl=1" alt="" class="wp-image-219" srcset="https://i0.wp.com/khalil232.com/wp-content/uploads/2023/12/image-3.png?resize=1024%2C627&amp;ssl=1 1024w, https://i0.wp.com/khalil232.com/wp-content/uploads/2023/12/image-3.png?resize=300%2C184&amp;ssl=1 300w, https://i0.wp.com/khalil232.com/wp-content/uploads/2023/12/image-3.png?resize=768%2C470&amp;ssl=1 768w, https://i0.wp.com/khalil232.com/wp-content/uploads/2023/12/image-3.png?w=1128&amp;ssl=1 1128w" sizes="(max-width: 1000px) 100vw, 1000px" /></figure>



<p class="wp-block-paragraph">Live application URL ( row style based on city ):  <a href="https://khalil232.com/apps/ojet-apps/?ojr=data-grid-example">https://khalil232.com/apps/ojet-apps/?ojr=data-grid-example</a> </p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">References: </p>



<p class="wp-block-paragraph">Datagrid js doc for identifying other attributes : <a href="https://www.oracle.com/webfolder/technetwork/jet/jsdocs/oj.ojDataGrid.html">https://www.oracle.com/webfolder/technetwork/jet/jsdocs/oj.ojDataGrid.html</a></p>



<p class="wp-block-paragraph">CSS helpers used:</p>



<p class="wp-block-paragraph">Background-color: <a href="https://www.oracle.com/webfolder/technetwork/jet/jsdocs/BackgroundColor.html">https://www.oracle.com/webfolder/technetwork/jet/jsdocs/BackgroundColor.html</a></p>



<p class="wp-block-paragraph">Font color: <a href="https://www.oracle.com/webfolder/technetwork/jet/jsdocs/Text.html">https://www.oracle.com/webfolder/technetwork/jet/jsdocs/Text.html</a></p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">217</post-id>	</item>
		<item>
		<title>How to enable resize in oj-data-grid</title>
		<link>https://khalil232.com/vbcs-tutorials/212/how-to-enable-resize-in-oj-data-grid/</link>
		
		<dc:creator><![CDATA[khalil]]></dc:creator>
		<pubDate>Mon, 04 Dec 2023 18:32:09 +0000</pubDate>
				<category><![CDATA[VBCS-Tutorials]]></category>
		<category><![CDATA[datagrid]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[OJET]]></category>
		<category><![CDATA[VBCS]]></category>
		<guid isPermaLink="false">https://khalil232.com/?p=212</guid>

					<description><![CDATA[We can enable resize in oj-data-grid by adding the following html code to &#60;oj-data-grid>: The following attributes on the header will allow resizing. When hovering on a border, the user can resize the row or column height or width. To add an additional right-click menu, we can add the below code. The user can right-click [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">We can enable resize in oj-data-grid by adding the following html code to &lt;oj-data-grid>:</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="" style="font-size:clamp(14px, .875rem, 21px);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" data-code="&lt;oj-data-grid
  id=&quot;datagrid&quot;
  style=&quot;width:100%;height:400px&quot;
  aria-label=&quot;My Data Grid&quot;
  data='{{ salaryDataADP }}'
  header.column.style=&quot;[[ headerColStyle ]]&quot;
  header.column.resizable.width=&quot;enable&quot;
  header.column.resizable.height=&quot;enable&quot;
  header.row.resizable.width=&quot;enable&quot;
  header.row.resizable.height=&quot;enable&quot;
  header.column.class-name=&quot;oj-helper-justify-content-flex-start&quot;
  cell.class-name=&quot;oj-helper-justify-content-flex-start&quot;
&gt;
  &lt;oj-menu slot=&quot;contextMenu&quot; aria-label=&quot;Employee Edit&quot;&gt;
    &lt;oj-option id=&quot;resizeWidth&quot; value=&quot;Resize Width&quot;
      data-oj-command=&quot;oj-datagrid-resizeWidth&quot;&gt;&lt;/oj-option&gt;
    &lt;oj-option id=&quot;resizeHeight&quot; value=&quot;Resize Height&quot;
      data-oj-command=&quot;oj-datagrid-resizeHeight&quot;&gt;&lt;/oj-option&gt;
    &lt;oj-option id=&quot;resizeFitToContent&quot; value=&quot;Resize Fit To Content&quot;
      data-oj-command=&quot;oj-datagrid-resizeFitToContent&quot;&gt;&lt;/oj-option&gt;
  &lt;/oj-menu&gt;
&lt;/oj-data-grid&gt;" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #808080">&lt;</span><span style="color: #569CD6">oj-data-grid</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #9CDCFE">id</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;datagrid&quot;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #9CDCFE">style</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;width:100%;height:400px&quot;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #9CDCFE">aria-label</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;My Data Grid&quot;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #9CDCFE">data</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&#39;{{ salaryDataADP }}&#39;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #9CDCFE">header.column.style</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;[[ headerColStyle ]]&quot;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #9CDCFE">header.column.resizable.width</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;enable&quot;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #9CDCFE">header.column.resizable.height</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;enable&quot;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #9CDCFE">header.row.resizable.width</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;enable&quot;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #9CDCFE">header.row.resizable.height</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;enable&quot;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #9CDCFE">header.column.class-name</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;oj-helper-justify-content-flex-start&quot;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #9CDCFE">cell.class-name</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;oj-helper-justify-content-flex-start&quot;</span></span>
<span class="line"><span style="color: #808080">&gt;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #808080">&lt;</span><span style="color: #569CD6">oj-menu</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">slot</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;contextMenu&quot;</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">aria-label</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;Employee Edit&quot;</span><span style="color: #808080">&gt;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #808080">&lt;</span><span style="color: #569CD6">oj-option</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">id</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;resizeWidth&quot;</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">value</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;Resize Width&quot;</span></span>
<span class="line"><span style="color: #D4D4D4">      </span><span style="color: #9CDCFE">data-oj-command</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;oj-datagrid-resizeWidth&quot;</span><span style="color: #808080">&gt;&lt;/</span><span style="color: #569CD6">oj-option</span><span style="color: #808080">&gt;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #808080">&lt;</span><span style="color: #569CD6">oj-option</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">id</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;resizeHeight&quot;</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">value</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;Resize Height&quot;</span></span>
<span class="line"><span style="color: #D4D4D4">      </span><span style="color: #9CDCFE">data-oj-command</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;oj-datagrid-resizeHeight&quot;</span><span style="color: #808080">&gt;&lt;/</span><span style="color: #569CD6">oj-option</span><span style="color: #808080">&gt;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #808080">&lt;</span><span style="color: #569CD6">oj-option</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">id</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;resizeFitToContent&quot;</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">value</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;Resize Fit To Content&quot;</span></span>
<span class="line"><span style="color: #D4D4D4">      </span><span style="color: #9CDCFE">data-oj-command</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;oj-datagrid-resizeFitToContent&quot;</span><span style="color: #808080">&gt;&lt;/</span><span style="color: #569CD6">oj-option</span><span style="color: #808080">&gt;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #808080">&lt;/</span><span style="color: #569CD6">oj-menu</span><span style="color: #808080">&gt;</span></span>
<span class="line"><span style="color: #808080">&lt;/</span><span style="color: #569CD6">oj-data-grid</span><span style="color: #808080">&gt;</span></span></code></pre></div>



<p class="wp-block-paragraph">The following attributes on the header will allow resizing. When hovering on a border, the user can resize the row or column height or width.</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="" style="font-size:clamp(14px, .875rem, 21px);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" data-code="&lt;oj-data-grid
  header.column.resizable.width=&quot;enable&quot;
  header.column.resizable.height=&quot;enable&quot;
  header.row.resizable.width=&quot;enable&quot;
  header.row.resizable.height=&quot;enable&quot;
&gt;
&lt;/oj-data-grid&gt;" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #808080">&lt;</span><span style="color: #569CD6">oj-data-grid</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #9CDCFE">header.column.resizable.width</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;enable&quot;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #9CDCFE">header.column.resizable.height</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;enable&quot;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #9CDCFE">header.row.resizable.width</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;enable&quot;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #9CDCFE">header.row.resizable.height</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;enable&quot;</span></span>
<span class="line"><span style="color: #808080">&gt;</span></span>
<span class="line"><span style="color: #808080">&lt;/</span><span style="color: #569CD6">oj-data-grid</span><span style="color: #808080">&gt;</span></span></code></pre></div>



<p class="wp-block-paragraph">To add an additional right-click menu, we can add the below code. The user can right-click and click on Resize width, and enter a desired width, like 100 or 200.</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="" style="font-size:clamp(14px, .875rem, 21px);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" data-code="&lt;oj-menu slot=&quot;contextMenu&quot; aria-label=&quot;Employee Edit&quot;&gt;
    &lt;oj-option id=&quot;resizeWidth&quot; value=&quot;Resize Width&quot;
      data-oj-command=&quot;oj-datagrid-resizeWidth&quot;&gt;&lt;/oj-option&gt;
    &lt;oj-option id=&quot;resizeHeight&quot; value=&quot;Resize Height&quot;
      data-oj-command=&quot;oj-datagrid-resizeHeight&quot;&gt;&lt;/oj-option&gt;
    &lt;oj-option id=&quot;resizeFitToContent&quot; value=&quot;Resize Fit To Content&quot;
      data-oj-command=&quot;oj-datagrid-resizeFitToContent&quot;&gt;&lt;/oj-option&gt;
  &lt;/oj-menu&gt;" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #808080">&lt;</span><span style="color: #569CD6">oj-menu</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">slot</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;contextMenu&quot;</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">aria-label</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;Employee Edit&quot;</span><span style="color: #808080">&gt;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #808080">&lt;</span><span style="color: #569CD6">oj-option</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">id</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;resizeWidth&quot;</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">value</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;Resize Width&quot;</span></span>
<span class="line"><span style="color: #D4D4D4">      </span><span style="color: #9CDCFE">data-oj-command</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;oj-datagrid-resizeWidth&quot;</span><span style="color: #808080">&gt;&lt;/</span><span style="color: #569CD6">oj-option</span><span style="color: #808080">&gt;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #808080">&lt;</span><span style="color: #569CD6">oj-option</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">id</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;resizeHeight&quot;</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">value</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;Resize Height&quot;</span></span>
<span class="line"><span style="color: #D4D4D4">      </span><span style="color: #9CDCFE">data-oj-command</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;oj-datagrid-resizeHeight&quot;</span><span style="color: #808080">&gt;&lt;/</span><span style="color: #569CD6">oj-option</span><span style="color: #808080">&gt;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #808080">&lt;</span><span style="color: #569CD6">oj-option</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">id</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;resizeFitToContent&quot;</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">value</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;Resize Fit To Content&quot;</span></span>
<span class="line"><span style="color: #D4D4D4">      </span><span style="color: #9CDCFE">data-oj-command</span><span style="color: #D4D4D4">=</span><span style="color: #CE9178">&quot;oj-datagrid-resizeFitToContent&quot;</span><span style="color: #808080">&gt;&lt;/</span><span style="color: #569CD6">oj-option</span><span style="color: #808080">&gt;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #808080">&lt;/</span><span style="color: #569CD6">oj-menu</span><span style="color: #808080">&gt;</span></span></code></pre></div>



<p class="wp-block-paragraph">There are other commands available, like below ( see the jsdoc link for more information ). Few features are supported only in latest version of JET</p>



<figure class="wp-block-table"><table><thead><tr><th>Default Function</th><th>data-oj-command value</th></tr></thead><tbody><tr><td><kbd>Resize menu</kbd>&nbsp;(contains width and height resize)</td><td>oj-datagrid-resize</td></tr><tr><td><kbd>Sort Row menu</kbd>&nbsp;(contains ascending and descending sort)</td><td>oj-datagrid-sortRow</td></tr><tr><td><kbd>Sort Column menu</kbd>&nbsp;(contains ascending and descending sort)</td><td>oj-datagrid-sortCol</td></tr><tr><td><kbd>Resize Width</kbd></td><td>oj-datagrid-resizeWidth</td></tr><tr><td><kbd>Resize Height</kbd></td><td>oj-datagrid-resizeHeight</td></tr><tr><td><kbd>Resize Fit To Content</kbd></td><td>oj-datagrid-resizeFitToContent</td></tr><tr><td><kbd>Sort Row Ascending</kbd></td><td>oj-datagrid-sortRowAsc</td></tr><tr><td><kbd>Sort Row Descending</kbd></td><td>oj-datagrid-sortRowDsc</td></tr><tr><td><kbd>Sort Column Ascending</kbd></td><td>oj-datagrid-sortColAsc</td></tr><tr><td><kbd>Sort Column Descending</kbd></td><td>oj-datagrid-sortColDsc</td></tr><tr><td><kbd>Cut (for reordering)</kbd></td><td>oj-datagrid-cut</td></tr><tr><td><kbd>Paste (for reordering)</kbd></td><td>oj-datagrid-paste</td></tr><tr><td><kbd>CutCells (for data transferring)</kbd></td><td>oj-datagrid-cutCells</td></tr><tr><td><kbd>CopyCells (for data transferring)</kbd></td><td>oj-datagrid-copyCells</td></tr><tr><td><kbd>PasteCells (for data transferring)</kbd></td><td>oj-datagrid-pasteCells</td></tr><tr><td><kbd>Fill</kbd></td><td>oj-datagrid-fillCells</td></tr><tr><td><kbd>Select Multiple Cells on Touch Device</kbd></td><td>oj-datagrid-discontiguousSelection</td></tr><tr><td><kbd>Freeze Columns</kbd></td><td>oj-datagrid-freezeCol</td></tr><tr><td><kbd>Freeze Rows</kbd></td><td>oj-datagrid-freezeRow</td></tr><tr><td><kbd>Unfreeze Columns</kbd></td><td>oj-datagrid-unfreezeColumn</td></tr><tr><td><kbd>Unfreeze Rows</kbd></td><td>oj-datagrid-unfreezeRow</td></tr><tr><td><kbd>Hide Columns</kbd></td><td>oj-datagrid-hideCol</td></tr><tr><td><kbd>Unhide Columns</kbd></td><td>oj-datagrid-unhideCol</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Screenshots</p>



<figure class="wp-block-image size-full"><img data-recalc-dims="1" loading="lazy" decoding="async" width="652" height="467" src="https://i0.wp.com/khalil232.com/wp-content/uploads/2023/12/image.png?resize=652%2C467&#038;ssl=1" alt="" class="wp-image-213" srcset="https://i0.wp.com/khalil232.com/wp-content/uploads/2023/12/image.png?w=652&amp;ssl=1 652w, https://i0.wp.com/khalil232.com/wp-content/uploads/2023/12/image.png?resize=300%2C215&amp;ssl=1 300w" sizes="(max-width: 652px) 100vw, 652px" /></figure>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1024" height="515" src="https://i0.wp.com/khalil232.com/wp-content/uploads/2023/12/image-1.png?resize=1024%2C515&#038;ssl=1" alt="" class="wp-image-214" srcset="https://i0.wp.com/khalil232.com/wp-content/uploads/2023/12/image-1.png?resize=1024%2C515&amp;ssl=1 1024w, https://i0.wp.com/khalil232.com/wp-content/uploads/2023/12/image-1.png?resize=300%2C151&amp;ssl=1 300w, https://i0.wp.com/khalil232.com/wp-content/uploads/2023/12/image-1.png?resize=768%2C386&amp;ssl=1 768w, https://i0.wp.com/khalil232.com/wp-content/uploads/2023/12/image-1.png?w=1432&amp;ssl=1 1432w" sizes="(max-width: 1000px) 100vw, 1000px" /></figure>



<p class="wp-block-paragraph">Live application URL: <a href="https://khalil232.com/apps/ojet-apps/?ojr=data-grid-example">https://khalil232.com/apps/ojet-apps/?ojr=data-grid-example</a></p>



<p class="wp-block-paragraph">References: </p>



<p class="wp-block-paragraph">helper classes: <a href="https://www.oracle.com/webfolder/technetwork/jet/jsdocs/Helpers.html">https://www.oracle.com/webfolder/technetwork/jet/jsdocs/Helpers.html</a></p>



<p class="wp-block-paragraph">jet cookbook: <a href="https://www.oracle.com/webfolder/technetwork/jet/jetCookbook.html?component=dataGrid&amp;demo=resizing">https://www.oracle.com/webfolder/technetwork/jet/jetCookbook.html?component=dataGrid&amp;demo=resizing</a></p>



<p class="wp-block-paragraph">link for oj-data-commands: <a href="https://www.oracle.com/webfolder/technetwork/jet/jsdocs/oj.ojDataGrid.html#contextmenu-section">https://www.oracle.com/webfolder/technetwork/jet/jsdocs/oj.ojDataGrid.html#contextmenu-section</a></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">212</post-id>	</item>
	</channel>
</rss>
