﻿<?xml version="1.0" encoding="utf-8"?><rss 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:media="http://search.yahoo.com/mrss/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Intersoft Community - WebGrid Enterprise - Need to add a edittype and columntype dynamically</title><link>http://www.intersoftsolutions.com/Community/WebGrid/Need-to-add-a-edittype-and-columntype-dynamically/</link><description /><generator>http://www.intersoftsolutions.com</generator><language>en</language><copyright>Copyright 2002 - 2015 Intersoft Solutions Corp. All rights reserved.</copyright><ttl>60</ttl><item><title>Need to add a edittype and columntype dynamically</title><link>http://www.intersoftsolutions.com/Community/WebGrid/Need-to-add-a-edittype-and-columntype-dynamically/</link><pubDate>Wed, 16 Nov 2011 20:46:32 GMT</pubDate><dc:creator>yudi</dc:creator><description>&lt;p&gt;&lt;span style="font-family: 'segoe ui','sans-serif'; color: #1f497d; font-size: 9pt"&gt;I’m afraid that it is not possible to have one column that contains dropdowns, checkboxes, and textboxes based on certain criteria from another column in the grid by using the code as shown in your initial post. From my experiment, I found out that once the EditType of a column is assigned to a certain EditType enumeration, then it will be applied to the entire cell within this column. For example, if case “1” statement is invoked (set EditType to TextBox), then no matter which case statement will be invoked on the next iteration, the EditType of “Value” column will be TextBox.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: 'segoe ui','sans-serif'; color: #1f497d; font-size: 9pt"&gt;My idea to implement such scenario is by using the “Template” ColumnType. Within the CellTemplate, the dropdowns, checkboxes, and textboxes are added. During InitializeRow event, based on certain criteria from “OptControl” column, the Visibility of those controls is set so that only one control appear on the cell.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: 'segoe ui','sans-serif'; color: #1f497d; font-size: 9pt"&gt;I made a simple experiment to prove whether my ideas can be implemented or not. Unfortunately, set the Visibility during InitializeRow event is not a good idea.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: 'segoe ui','sans-serif'; color: #1f497d; font-size: 9pt"&gt;However, I managed to make a simple sample of such scenario where the Visibility of those control is bind to a value during InitializeDataSource. The sample is enclosed as attachment. Please have the sample tested on your end and let us know your feedback.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: 'segoe ui','sans-serif'; color: #1f497d; font-size: 9pt"&gt;I understand that my sample is not a perfect one. I’d be happy to receive criticism, suggestions, ideas, or opinions from other member on this topic.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: 'segoe ui','sans-serif'; color: #1f497d; font-size: 9pt"&gt;Hope this helps.&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Need to add a edittype and columntype dynamically</title><link>http://www.intersoftsolutions.com/Community/WebGrid/Need-to-add-a-edittype-and-columntype-dynamically/</link><pubDate>Tue, 15 Nov 2011 17:56:02 GMT</pubDate><dc:creator>jcrendulic</dc:creator><description>&lt;p&gt;I have a grid with 50 rows.  I need to create one column that contains dropdowns, checkboxes, and textboxes based on certain criteria's from another column in the grid.  How do I do this?   I am trying to use the Initialize row event of the grid.&lt;/p&gt;&lt;pre style="font-family: consolas; background: white; color: black; font-size: 13px"&gt;&lt;span style="color: blue"&gt;protected&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue"&gt;void&lt;/span&gt;&amp;nbsp;WebGrid1_InitializeRow(&lt;span style="color: blue"&gt;object&lt;/span&gt;&amp;nbsp;sender,&amp;nbsp;ISNet.WebUI.WebGrid.&lt;span style="color: #2b91af"&gt;RowEventArgs&lt;/span&gt;&amp;nbsp;e)
{
&amp;nbsp;&amp;nbsp;&lt;span style="color: #2b91af"&gt;WebGridCellCollection&lt;/span&gt;&amp;nbsp;cells&amp;nbsp;=&amp;nbsp;e.Row.Cells;

&lt;span style="color: blue"&gt; if&lt;/span&gt;&amp;nbsp;(e.Row.Type&amp;nbsp;==&amp;nbsp;&lt;span style="color: #2b91af"&gt;RowType&lt;/span&gt;.Record)
 &amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;switch&lt;/span&gt;&amp;nbsp;(cells.GetNamedItem(&lt;span style="color: #a31515"&gt;"OptControl"&lt;/span&gt;).Value.ToString())
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span style="color: #a31515"&gt;"1"&lt;/span&gt;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cells.GetNamedItem(&lt;span style="color: #a31515"&gt;"Value"&lt;/span&gt;).Column.EditType&amp;nbsp;=&amp;nbsp;&lt;span style="color: #2b91af"&gt;EditType&lt;/span&gt;.TextBox;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cells.GetNamedItem(&lt;span style="color: #a31515"&gt;"Value"&lt;/span&gt;).Column.ColumnType&amp;nbsp;=&amp;nbsp;&lt;span style="color: #2b91af"&gt;ColumnType&lt;/span&gt;.Text;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;break&lt;/span&gt;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span style="color: #a31515"&gt;"2"&lt;/span&gt;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cells.GetNamedItem(&lt;span style="color: #a31515"&gt;"Value"&lt;/span&gt;).Column.EditType&amp;nbsp;=&amp;nbsp;&lt;span style="color: #2b91af"&gt;EditType&lt;/span&gt;.Checkbox;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cells.GetNamedItem(&lt;span style="color: #a31515"&gt;"Value"&lt;/span&gt;).Column.ColumnType&amp;nbsp;=&amp;nbsp;&lt;span style="color: #2b91af"&gt;ColumnType&lt;/span&gt;.CheckBox;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;break&lt;/span&gt;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span style="color: #a31515"&gt;"3"&lt;/span&gt;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cells.GetNamedItem(&lt;span style="color: #a31515"&gt;"Value"&lt;/span&gt;).Column.EditType&amp;nbsp;=&amp;nbsp;&lt;span style="color: #2b91af"&gt;EditType&lt;/span&gt;.DropdownList;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #2b91af"&gt;WebValueList&lt;/span&gt;&amp;nbsp;gridColumn&amp;nbsp;=&amp;nbsp;WebGrid1.RootTable.Columns.GetNamedItem(&lt;span style="color: #a31515"&gt;"Value"&lt;/span&gt;).ValueList;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;gridColumn.DataSource&amp;nbsp;=&amp;nbsp;xTranslate.GetTranslateDisplayListFromDataTable(cells.GetNamedItem(&lt;span style="color: #a31515"&gt;"OptTranslate_Cd"&lt;/span&gt;).Value.ToString(),&amp;nbsp;&lt;span style="color: #a31515"&gt;"1"&lt;/span&gt;,&amp;nbsp;&lt;span style="color: #a31515"&gt;"2"&lt;/span&gt;,&lt;span style="color: blue"&gt;false&lt;/span&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;gridColumn.DataValueField&amp;nbsp;=&amp;nbsp;&lt;span style="color: #a31515"&gt;"Key"&lt;/span&gt;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;gridColumn.DataTextField&amp;nbsp;=&amp;nbsp;&lt;span style="color: #a31515"&gt;"Value"&lt;/span&gt;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;break&lt;/span&gt;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/pre&gt;&lt;pre style="font-family: consolas; background: white; color: black; font-size: 13px"&gt;}&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;</description></item></channel></rss>