Unable to load Task Status grid after adding an additional column into the Grid View. An Error Occurred While Refreshing.

Article:TECH141581  |  Created: 2010-10-11  |  Updated: 2010-12-09  |  Article URL http://www.symantec.com/docs/TECH141581
Article Type
Technical Solution


Environment

Issue



Unable to load Task Status grid after adding an additional column into the Grid View. An Error Occurred While Refreshing.

Error in the console: An error occurred while refreshing. Check the Altiris log for more information.

Error in the logs: Cannot find column <columnName>.


Error



<event date="Oct 07 12:29:52 +00:00" severity="1" hostName="***********" source="Altiris.TaskManagement.ClientTask.*" module="w3wp.exe" process="w3wp" pid="3672" thread="25" tickCount="530870703"><![CDATA[BaseXmlHttpCallback Exception: System.Exception: Error formatting row - this usually means the DataTable doesn't have a column specified by the grid column definitions ---> System.FormatException: Input string was not in a correct format.
   at System.Text.StringBuilder.FormatError()
   at System.Text.StringBuilder.AppendFormat(IFormatProvider provider, String format, Object[] args)
   at System.String.Format(IFormatProvider provider, String format, Object[] args)
   at System.IO.TextWriter.Write(String format, Object[] arg)
   at System.Web.UI.HtmlTextWriter.Write(String format, Object[] arg)
   at Altiris.TaskManagement.UI.Controls.Grid.AltirisGridCallbackHandler.RenderRow(AltirisGridControlOptions options, DataRow nextRow, Int32 row, Int32 groupIndex, Boolean altRow, List`1 columnTemplates, HtmlTextWriter wr)
   --- End of inner exception stack trace ---
   at Altiris.TaskManagement.UI.Controls.Grid.AltirisGridCallbackHandler.RenderRow(AltirisGridControlOptions options, DataRow nextRow, Int32 row, Int32 groupIndex, Boolean altRow, List`1 columnTemplates, HtmlTextWriter wr)
   at Altiris.TaskManagement.UI.Controls.Grid.AltirisGridCallbackHandler.RenderGroupContents(AltirisGridControlOptions options, Boolean expanded, Int32 nGroup, List`1 rows, List`1 columnTemplates, HtmlTextWriter wr)
   at Altiris.TaskManagement.UI.Controls.Grid.AltirisGridCallbackHandler.RenderGroups(AltirisGridControlOptions options, Boolean expandFirst, Boolean sortKeys, Boolean hideHeaders, Dictionary`2 groups, List`1 columnTemplates, HtmlTextWriter wr)
   at Altiris.TaskManagement.UI.Controls.Grid.AltirisGridCallbackHandler.RenderRowsNormal(AltirisGridControlOptions options, List`1 rows, List`1 templates, HtmlTextWriter wr)
   at Altiris.TaskManagement.UI.Controls.Grid.AltirisGridCallbackHandler.RenderGridContents(AltirisGridControlOptions options, DataTable data, List`1 columnTemplates, HtmlTextWriter wr)
   at Altiris.TaskManagement.UI.Controls.Grid.AltirisGridCallbackHandler.RenderHtml(AltirisGridControlOptions options, DataTable data, List`1 templates, HtmlTextWriter wr)
   at Altiris.TaskManagement.UI.Controls.Grid.AltirisGridCallbackHandler.WriteHtmlResponse(HtmlTextWriter wr)
   at Altiris.TaskManagement.Common.XmlHttp.BaseHttpXmlHttpCallback.WriteResponseRaw(XmlTextWriter xwr)
   at Altiris.TaskManagement.Common.XmlHttp.BaseXmlHttpCallback.ProcessRequest(HttpContext context)]]></event>


Environment



Symantec Management Platform 7.0 Service Pack 5


Cause



The DataTable for the Task Status doesn't have a column specified by the grid column definitions.


Solution



The UI allows to select an additional column which may not exist in the database. The selection is then saved to the user SID and affects all Task Management based tasks.

After the invalid column selection is saved; the UI no longer allows to de-select it and keeps returning the error message "Error formatting row - this usually means the DataTable doesn't have a column specified by the grid column definitions.".

As a quick work-around we can delete the invalid user settings and reset the Task Grid back to the default. This allows it to load again without any errors.

The problematic entry is being stored in the dbo.UserSettings table in the Symantec_CMDB database.
The following SQL Query can be used to list all User Settings saved for the Task Status Grid;

SELECT * FROM [Symantec_CMDB].[dbo].[UserSettings]  --Please change the name of the database as applicable.
WHERE Id LIKE '%m_bottomSection$m_taskStatusControl$g_Altiris.TaskManagement.UI.TaskControls.SP3.ClientTaskStatusControl_%'
GO

After a full backup of the Symantec_CMDB database the following SQL Query can be used as an example to delete all user settings for the Task Status Grid:

DELETE FROM [Symantec_CMDB].[dbo].[UserSettings]  --Please change the name of the database as applicable.
WHERE Id LIKE '%m_bottomSection$m_taskStatusControl$g_Altiris.TaskManagement.UI.TaskControls.SP3.ClientTaskStatusControl_%'
GO

Reload the Symantec Management Console and the Task  Status grid should not load with the default columns.




Article URL http://www.symantec.com/docs/TECH141581


Terms of use for this information are found in Legal Notices