﻿<?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 - WebGrid client-side dynamic grouping problem</title><link>http://www.intersoftsolutions.com/Community/WebGrid/WebGrid-client-side-dynamic-grouping-problem/</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>WebGrid client-side dynamic grouping problem</title><link>http://www.intersoftsolutions.com/Community/WebGrid/WebGrid-client-side-dynamic-grouping-problem/</link><pubDate>Sun, 14 Mar 2010 23:37:11 GMT</pubDate><dc:creator>handy@intersoftpt.com</dc:creator><category>WebGrid</category><category>javascript</category><description>&lt;p&gt;Hi,&lt;/p&gt;&lt;p&gt;I forgot to let you know that there is also one properties that you should need to add. &lt;b&gt;&lt;i&gt;'HideColumnsWhenGrouped="No"' &lt;span style="font-style: normal; font-weight: normal; "&gt;. The sample should be working fine now.&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-style: normal; font-weight: normal; "&gt;Regards,&lt;br /&gt;Handy&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;</description></item><item><title>WebGrid client-side dynamic grouping problem</title><link>http://www.intersoftsolutions.com/Community/WebGrid/WebGrid-client-side-dynamic-grouping-problem/</link><pubDate>Fri, 12 Mar 2010 05:35:32 GMT</pubDate><dc:creator>Mladen.maras@combis.hr</dc:creator><category>WebGrid</category><category>javascript</category><description>&lt;p&gt;I set the property GroupByBoxVisible="True" in the example that I have previously uploaded and I still get the same exception. &lt;/p&gt;
&lt;p&gt;The problem is this. When grid is loaded for the first time, there is no grouping and column Country is shown with other columns in the grid. &lt;/p&gt;
&lt;p&gt;When "Add Group" is clicked, javascript function creates grouping and grid groups by the Country column. &lt;/p&gt;
&lt;p&gt;When "Remove Group" is clicked, javascript function removes group and there are no more groups in the grid but the Country column is missing.&lt;/p&gt;
&lt;p&gt;When "Add Group" is clicked again, "null or not an object" is thrown while calling &lt;span style="font-size: 13px"&gt;&lt;span style="text-decoration:underline;"&gt;grid.RootTable.UpdateUI();&lt;/span&gt; in javascript function.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: 13px"&gt;This is probably because column Country is missing from the Columns section of the grid. It was removed by the grid first time it was grouped by but it was not returned to it when it was removed from the GroupedColumns section.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: 13px"&gt;How can this be solved?&lt;/span&gt;&lt;/p&gt;</description></item><item><title>WebGrid client-side dynamic grouping problem</title><link>http://www.intersoftsolutions.com/Community/WebGrid/WebGrid-client-side-dynamic-grouping-problem/</link><pubDate>Fri, 12 Mar 2010 04:54:14 GMT</pubDate><dc:creator>handy@intersoftpt.com</dc:creator><category>WebGrid</category><category>javascript</category><description>&lt;p&gt;Hi,&lt;/p&gt;&lt;p&gt;I found that missing GroupByBoxVisible="True" caused the error. Please try to add this properties in your grouping column. It seems when you want to add a grouped column programmatically from client side, you will need this properties. Hope this helps.&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Handy&lt;/p&gt;</description></item><item><title>WebGrid client-side dynamic grouping problem</title><link>http://www.intersoftsolutions.com/Community/WebGrid/WebGrid-client-side-dynamic-grouping-problem/</link><pubDate>Fri, 12 Mar 2010 03:58:59 GMT</pubDate><dc:creator>Mladen.maras@combis.hr</dc:creator><category>WebGrid</category><category>javascript</category><description>&lt;p&gt;The error happens when &lt;span style="text-decoration:underline;"&gt;grid.RootTable.UpdateUI(); &lt;/span&gt;is called. It happens when I add group by column that has been previously removed from the Group By columns. &lt;/p&gt;
&lt;p&gt;I have attached an example for you. I have modified your Programmatic_UI2 example from the WebGridTutorial solution. Run it, click Add Group, then click Remove Group and again Add Group and you will get the same exception.&lt;/p&gt;</description></item><item><title>WebGrid client-side dynamic grouping problem</title><link>http://www.intersoftsolutions.com/Community/WebGrid/WebGrid-client-side-dynamic-grouping-problem/</link><pubDate>Thu, 11 Mar 2010 22:00:06 GMT</pubDate><dc:creator>handy@intersoftpt.com</dc:creator><category>WebGrid</category><category>javascript</category><description>&lt;p&gt;Hi,&lt;/p&gt;&lt;p&gt;The issue should be not happened. Please use grid.RefreshAll() instead of grid.Refresh(). &lt;br /&gt;grid.Refresh() doesn't refresh the structure while change or remove grouping would have different structure. Refreshing WebGrid structure would be also needed.&lt;/p&gt;
&lt;p&gt;When you removed the group column, you will need also to use RefreshAll(). Please look into WebGridTutorial&amp;gt;&amp;gt; Client_ProgrammaticUI.aspx. There should be a sample in those page about how to remove and add group column.&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Handy&lt;/p&gt;</description></item><item><title>WebGrid client-side dynamic grouping problem</title><link>http://www.intersoftsolutions.com/Community/WebGrid/WebGrid-client-side-dynamic-grouping-problem/</link><pubDate>Thu, 11 Mar 2010 09:59:36 GMT</pubDate><dc:creator>Mladen.maras@combis.hr</dc:creator><category>WebGrid</category><category>javascript</category><description>&lt;p&gt;I have a problem when I try to dynamically change grouping in WebGrid using javascript function on the client side. I use dropdown list to specify in which ways to group data in grid.&lt;/p&gt;&lt;pre&gt;&amp;lt;asp:DropDownList ID="ddlGrupiranje" runat="server" SkinID="Medium" onchange="ChangeGroup(this.id);"&amp;gt;
	&amp;lt;asp:ListItem Text="Po oznaci" Value="1" Selected="True"&amp;gt;&amp;lt;/asp:ListItem&amp;gt;
	&amp;lt;asp:ListItem Text="Po fazi" Value="2" Selected="False"&amp;gt;&amp;lt;/asp:ListItem&amp;gt;
	&amp;lt;asp:ListItem Text="Po ics-u" Value="3" Selected="False"&amp;gt;&amp;lt;/asp:ListItem&amp;gt;
	&amp;lt;asp:ListItem Text="Po oznaci izvornika" Value="4" Selected="False"&amp;gt;&amp;lt;/asp:ListItem&amp;gt;
	&amp;lt;asp:ListItem Text="Po tajniku" Value="5" Selected="False"&amp;gt;&amp;lt;/asp:ListItem&amp;gt;
	&amp;lt;asp:ListItem Text="Po smjernicama" Value="6" Selected="False"&amp;gt;&amp;lt;/asp:ListItem&amp;gt;
	&amp;lt;asp:ListItem Text="Po naslovu" Value="7" Selected="False"&amp;gt;&amp;lt;/asp:ListItem&amp;gt;
	&amp;lt;asp:ListItem Text="PovuÄŤeni projekti" Value="8" Selected="False"&amp;gt;&amp;lt;/asp:ListItem&amp;gt;
	&amp;lt;asp:ListItem Text="Po Glasilu - rasprava" Value="9" Selected="False"&amp;gt;&amp;lt;/asp:ListItem&amp;gt;
	&amp;lt;asp:ListItem Text="Po Glasilu - objava" Value="10" Selected="False"&amp;gt;&amp;lt;/asp:ListItem&amp;gt;
	&amp;lt;asp:ListItem Text="Po Glasilu - ispravak" Value="11" Selected="False"&amp;gt;&amp;lt;/asp:ListItem&amp;gt;
	&amp;lt;asp:ListItem Text="Po Glasilu - potvrÄ‘ivanje" Value="12" Selected="False"&amp;gt;&amp;lt;/asp:ListItem&amp;gt;
	&amp;lt;asp:ListItem Text="Po Glasilu - povlaÄŤenje" Value="13" Selected="False"&amp;gt;&amp;lt;/asp:ListItem&amp;gt;
	&amp;lt;asp:ListItem Text="Arhiva" Value="14" Selected="False"&amp;gt;&amp;lt;/asp:ListItem&amp;gt;
&amp;lt;/asp:DropDownList&amp;gt;&lt;/pre&gt;

&lt;p&gt;Javascript function is defined like this:&lt;/p&gt;&lt;pre&gt;function ChangeGroup(ddlId) {
	var ddl = document.getElementById(ddlId);
	var selectedValue = ddl.options[ddl.selectedIndex].value;
	
	var grid = ISGetObject("WebGrid1");
	
	if (grid == null) {
		return;
	}
	
	var rootTable = grid.RootTable;
	while (rootTable.GroupedColumns[0] != null) {
		rootTable.GroupedColumns.RemoveAt(0);
	}
	
	switch (selectedValue) {
		case "1":
			var newGroup = new WebGridGroup();
			newGroup.ColumnMember = "TehOdbor";
			newGroup.GroupInterval = "Text";
			newGroup.SortOrder = "Disabled";
			grid.RootTable.GroupedColumns.Add(newGroup);
			break;
		case "2":
			var newGroup = new WebGridGroup();
			newGroup.ColumnMember = "TehOdbor";
			newGroup.GroupInterval = "Text";
			newGroup.SortOrder = "Disabled";
			grid.RootTable.GroupedColumns.Add(newGroup);
			var groupby2 = new WebGridGroup();
			groupby2.ColumnMember = "Faza";
			groupby2.GroupInterval = "Text";
			groupby2.SortOrder = "Disabled";
			grid.RootTable.GroupedColumns.Add(groupby2);
			break;
		case "3":
			var groupby = new WebGridGroup();
			groupby.ColumnMember = "TehOdbor";
			groupby.GroupInterval = "Text";
			groupby.SortOrder = "Disabled";
			grid.RootTable.GroupedColumns.Add(groupby);
			var ics1 = new WebGridGroup();
			ics1.ColumnMember = "ICSGrupa1";
			ics1.GroupInterval = "Text";
			ics1.SortOrder = "Disabled";
			grid.RootTable.GroupedColumns.Add(ics1);
			var ics2 = new WebGridGroup();
			ics2.ColumnMember = "ICSGrupa2";
			ics2.GroupInterval = "Text";
			ics2.SortOrder = "Disabled";
			grid.RootTable.GroupedColumns.Add(ics2);
			var ics3 = new WebGridGroup();
			ics3.ColumnMember = "ICS";
			ics3.GroupInterval = "Text";
			ics3.SortOrder = "Disabled";
			grid.RootTable.GroupedColumns.Add(ics3);
			break;
		case "4":
			var groupby = new WebGridGroup();
			groupby.ColumnMember = "TehOdbor";
			groupby.GroupInterval = "Text";
			groupby.SortOrder = "Disabled";
			grid.RootTable.GroupedColumns.Add(groupby);
			var groupby2 = new WebGridGroup();
			groupby2.ColumnMember = "Faza";
			groupby2.GroupInterval = "Text";
			groupby2.SortOrder = "Disabled";
			grid.RootTable.GroupedColumns.Add(groupby2);
			break;
		case "5":
			var tajnik = new WebGridGroup();
			tajnik.ColumnMember = "Tajnik";
			tajnik.GroupInterval = "Text";
			tajnik.SortOrder = "Disabled";
			grid.RootTable.GroupedColumns.Add(tajnik);
			var groupby = new WebGridGroup();
			groupby.ColumnMember = "TehOdbor";
			groupby.GroupInterval = "Text";
			groupby.SortOrder = "Disabled";
			grid.RootTable.GroupedColumns.Add(groupby);
			var groupby2 = new WebGridGroup();
			groupby2.ColumnMember = "OznakaIzvornika";
			groupby2.GroupInterval = "Text";
			groupby2.SortOrder = "Disabled";
			grid.RootTable.GroupedColumns.Add(groupby2);
			break;
		case "6":
			var groupby = new WebGridGroup();
			groupby.ColumnMember = "VezaEUDirektive";
			groupby.GroupInterval = "Text";
			groupby.SortOrder = "Disabled";
			grid.RootTable.GroupedColumns.Add(groupby);
			break;
		case "7":
			var newGroup = new WebGridGroup();
			newGroup.ColumnMember = "TehOdbor";
			newGroup.GroupInterval = "Text";
			newGroup.SortOrder = "Disabled";
			grid.RootTable.GroupedColumns.Add(newGroup);
			break;
		case "8":
			var newGroup = new WebGridGroup();
			newGroup.ColumnMember = "TehOdbor";
			newGroup.GroupInterval = "Text";
			newGroup.SortOrder = "Disabled";
			grid.RootTable.GroupedColumns.Add(newGroup);
			break;
		case "9":
			var groupby = new WebGridGroup();
			groupby.ColumnMember = "Rasprava";
			groupby.GroupInterval = "Text";
			groupby.SortOrder = "Disabled";
			grid.RootTable.GroupedColumns.Add(groupby);
			var groupby2 = new WebGridGroup();
			groupby2.ColumnMember = "Tajnik";
			groupby2.GroupInterval = "Text";
			groupby2.SortOrder = "Disabled";
			grid.RootTable.GroupedColumns.Add(groupby2);
			break;
		case "10":
			var groupby = new WebGridGroup();
			groupby.ColumnMember = "Objava";
			groupby.GroupInterval = "Text";
			groupby.SortOrder = "Disabled";
			grid.RootTable.GroupedColumns.Add(groupby);
			var groupby2 = new WebGridGroup();
			groupby2.ColumnMember = "Tajnik";
			groupby2.GroupInterval = "Text";
			groupby2.SortOrder = "Disabled";
			grid.RootTable.GroupedColumns.Add(groupby2);
			var TOGroup = new WebGridGroup();
			TOGroup.ColumnMember = "TehOdbor";
			TOGroup.GroupInterval = "Text";
			TOGroup.SortOrder = "Disabled";
			grid.RootTable.GroupedColumns.Add(TOGroup);
			break;
		case "11":
			var groupby = new WebGridGroup();
			groupby.ColumnMember = "Ispravak";
			groupby.GroupInterval = "Text";
			groupby.SortOrder = "Disabled";
			grid.RootTable.GroupedColumns.Add(groupby);
			var groupby2 = new WebGridGroup();
			groupby2.ColumnMember = "Tajnik";
			groupby2.GroupInterval = "Text";
			groupby2.SortOrder = "Disabled";
			grid.RootTable.GroupedColumns.Add(groupby2);
			break;
		case "12":
			var groupby = new WebGridGroup();
			groupby.ColumnMember = "Potvrdjivanje";
			groupby.GroupInterval = "Text";
			groupby.SortOrder = "Disabled";
			grid.RootTable.GroupedColumns.Add(groupby);
			var groupby2 = new WebGridGroup();
			groupby2.ColumnMember = "Tajnik";
			groupby2.GroupInterval = "Text";
			groupby2.SortOrder = "Disabled";
			grid.RootTable.GroupedColumns.Add(groupby2);
			break;
		case "13":
			var groupby = new WebGridGroup();
			groupby.ColumnMember = "Povlacenje";
			groupby.GroupInterval = "Text";
			groupby.SortOrder = "Disabled";
			grid.RootTable.GroupedColumns.Add(groupby);
			var groupby2 = new WebGridGroup();
			groupby2.ColumnMember = "Tajnik";
			groupby2.GroupInterval = "Text";
			groupby2.SortOrder = "Disabled";
			grid.RootTable.GroupedColumns.Add(groupby2);
			break;
		case "14":
			var newGroup = new WebGridGroup();
			newGroup.ColumnMember = "TehOdbor";
			newGroup.GroupInterval = "Text";
			newGroup.SortOrder = "Disabled";
			grid.RootTable.GroupedColumns.Add(newGroup);
			break;
		default:
			var newGroup = new WebGridGroup();
			newGroup.ColumnMember = "TehOdbor";
			newGroup.GroupInterval = "Text";
			newGroup.SortOrder = "Disabled";
			grid.RootTable.GroupedColumns.Add(newGroup);
			break;
	}
	
	grid.RootTable.UpdateUI();
	grid.Refresh();
	}&lt;/pre&gt;
&lt;p&gt;Grid itself has over 30 columns. When I change grouping, columns that are used for grouping are removed from RootTable.Columns collection. &lt;strong&gt;When I change back grouping to previous selection, javascript error of undefined is thrown, because columns were removed when they were&amp;nbsp;first grouped by.&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When GroupedColumns are cleared, regarding columns are not returned to RootTable.Columns collection. &lt;/p&gt;
&lt;p&gt;How can this be solved?&lt;/p&gt;</description></item></channel></rss>