﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>StrataFrame Forum » StrataFrame Application Framework - V1 » Business Objects and Data Access (How do I?)  » Custom field enum data type throwing cast error</title><generator>InstantForum 2017-1 Final</generator><description>StrataFrame Forum</description><link>http://forum.strataframe.net/</link><webMaster>StrataFrame Forum</webMaster><lastBuildDate>Wed, 10 Jun 2026 18:43:59 GMT</lastBuildDate><ttl>20</ttl><item><title>RE: Custom field enum data type throwing cast error</title><link>http://forum.strataframe.net/FindPost25455.aspx</link><description>I just had this issue so I figured I'd post the answer on this old entry. It is because there is a type mismatch between your db field and the enum's type. By default Enums are Int types but stingy DBA's like me only use TinyInt's for field that are will be enum values. That translates into a byte type in .Net.&lt;br&gt;
&lt;br&gt;
The solution is to change your enum to:&lt;br&gt;
&lt;br&gt;
public enum InspectionType : byte&lt;br&gt;
{&lt;br&gt;
   Foo= 0,&lt;br&gt;
   Bar= 1,&lt;br&gt;
   Zip= 2&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
Then it will work correctly.</description><pubDate>Thu, 24 Dec 2009 13:39:13 GMT</pubDate><dc:creator>Scott Bressette</dc:creator></item><item><title>Custom field enum data type throwing cast error</title><link>http://forum.strataframe.net/FindPost10897.aspx</link><description>I am receving an error retreving a value from a field that has been customized to map to an enum.&amp;nbsp; In the BOM I set the ACTIONTYPECODE field to use the &lt;FONT color=#008080&gt;InspectionType&lt;/FONT&gt;&lt;FONT size=2&gt; Field Data Type. No problems there.&amp;nbsp;&amp;nbsp; I build partial and get the following code in my .Designer file:&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;[&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;Browsable&lt;/FONT&gt;&lt;FONT size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;false&lt;/FONT&gt;&lt;FONT size=2&gt;),&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;BusinessFieldDisplayInEditor&lt;/FONT&gt;&lt;FONT size=2&gt;(),&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;Description&lt;/FONT&gt;&lt;FONT size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"ACTIONTYPECODE"&lt;/FONT&gt;&lt;FONT size=2&gt;),&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;DesignerSerializationVisibility(&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;DesignerSerializationVisibility&lt;/FONT&gt;&lt;FONT size=2&gt;.Hidden)]&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;public&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;InspectionType&lt;/FONT&gt;&lt;FONT size=2&gt; ACTIONTYPECODE&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;get&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT size=2&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;return&lt;/FONT&gt;&lt;FONT size=2&gt; (&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;InspectionType&lt;/FONT&gt;&lt;FONT size=2&gt;)&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;this&lt;/FONT&gt;&lt;FONT size=2&gt;.CurrentRow[&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"ACTIONTYPECODE"&lt;/FONT&gt;&lt;FONT size=2&gt;];&lt;BR&gt;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;set&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT size=2&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;this&lt;/FONT&gt;&lt;FONT size=2&gt;.CurrentRow[&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"ACTIONTYPECODE"&lt;/FONT&gt;&lt;FONT size=2&gt;] = &lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#1111ff&gt;value&lt;/FONT&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT size=2&gt;}&lt;BR&gt;}&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;and here is the enum:&lt;FONT color=#0000ff size=2&gt;&lt;/P&gt;&lt;P&gt;public&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;enum&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;InspectionType&lt;BR&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp; Foo= 0,&lt;BR&gt;&amp;nbsp;&amp;nbsp; Bar= 1,&lt;BR&gt;&amp;nbsp;&amp;nbsp; Zip= 2&lt;BR&gt;}&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;Nothing too complex.&amp;nbsp; Stepping through the cose I can assign a value to ACTIONTYPECODE without issue.&amp;nbsp; But when I hit the 'Get' I end up with this error:&lt;BR&gt;&lt;FONT size=1&gt;&lt;BR&gt;Cannot unbox 'this.CurrentRow["ACTIONTYPECODE"]' as a 'InspectionType'&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;Now this would make sense to me since the field seems to be stored as a string and last time I tried I had to do something like this: &lt;FONT size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;InspectionType&lt;/FONT&gt;&lt;FONT size=2&gt;)&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;Enum&lt;/FONT&gt;&lt;FONT size=2&gt;.Parse(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;typeof&lt;/FONT&gt;&lt;FONT size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;InspectionType&lt;/FONT&gt;&lt;FONT size=2&gt;), "Foo"); &lt;/FONT&gt;to cast a string as an enum.&amp;nbsp; What am I screwing up? :ermm:&lt;FONT size=2&gt;&lt;FONT size=1&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;</description><pubDate>Thu, 24 Dec 2009 13:39:13 GMT</pubDate><dc:creator>Rob Toyias</dc:creator></item><item><title>RE: Custom field enum data type throwing cast error</title><link>http://forum.strataframe.net/FindPost10924.aspx</link><description>Thanks.&amp;nbsp; I am not sure why your project is manifesting itself with that error.&amp;nbsp; I have tried to reproduce on this side to no avail.&amp;nbsp; I will let you know if I find anything.&amp;nbsp; Thanks.</description><pubDate>Fri, 17 Aug 2007 14:54:30 GMT</pubDate><dc:creator>Trent L. Taylor</dc:creator></item><item><title>RE: Custom field enum data type throwing cast error</title><link>http://forum.strataframe.net/FindPost10918.aspx</link><description>I didnt make it very clear in my prev post, I was able to work around this issue by adding the following to the custom code section:&lt;/P&gt;&lt;P&gt;[&lt;FONT color=#008080 size=2&gt;Browsable&lt;/FONT&gt;&lt;FONT size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;false&lt;/FONT&gt;&lt;FONT size=2&gt;),&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;BusinessFieldDisplayInEditor&lt;/FONT&gt;&lt;FONT size=2&gt;(),&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;Description&lt;/FONT&gt;&lt;FONT size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"ACTIONTYPECODE"&lt;/FONT&gt;&lt;FONT size=2&gt;),&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;DesignerSerializationVisibility(&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;DesignerSerializationVisibility&lt;/FONT&gt;&lt;FONT size=2&gt;.Hidden)]&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;public&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;InspectionType&lt;/FONT&gt;&lt;FONT size=2&gt; ACTIONTYPECODE&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;get&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT size=2&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#0000ff&gt;return&lt;/FONT&gt;&lt;FONT size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#1f5080&gt;(&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;InspectionType&lt;/FONT&gt;&lt;FONT color=#1f5080 size=2&gt;)&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;Enum&lt;/FONT&gt;&lt;FONT color=#1f5080 size=2&gt;.Parse(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;typeof&lt;/FONT&gt;&lt;FONT color=#1f5080 size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;InspectionType&lt;/FONT&gt;&lt;FONT color=#1f5080 size=2&gt;), &lt;FONT color=#0000ff&gt;this&lt;/FONT&gt;&lt;FONT size=2&gt;.CurrentRow[&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"ACTIONTYPECODE"&lt;/FONT&gt;&lt;FONT size=2&gt;] &lt;/FONT&gt;);&amp;nbsp;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;set&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT size=2&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;this&lt;/FONT&gt;&lt;FONT size=2&gt;.CurrentRow[&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"ACTIONTYPECODE"&lt;/FONT&gt;&lt;FONT size=2&gt;] = &lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#1111ff&gt;value&lt;/FONT&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT size=2&gt;}&lt;BR&gt;}&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;This works thus far, I'd just like to know if there is something I'm missing or some larger problem.&amp;nbsp; &lt;BR&gt;-Thanks</description><pubDate>Fri, 17 Aug 2007 10:34:20 GMT</pubDate><dc:creator>Rob Toyias</dc:creator></item></channel></rss>