title: Using a custom formatter in a DataGridView
body: <p>So, maybe this is a bad design; I don't know. But say I have a <code>DataTable</code> with a column that holds <code>int</code> values; these values are in fact meant to represent some <code>enum</code> type that I have in my project.</p>
  
  <p>What I'd like to do is have a <code>DataGridView</code> bound to this table and have the column display the name of the <code>enum</code> rather than the integer value "0" or "1" or whatever.</p>
  
  <p>One option I considered was to do the whole normalization thing: add a table in the <code>DataSet</code> with the <code>enum</code> names in it, keyed on the <code>enum</code> values, and have my first table hold a reference to <em>this</em> table.</p>
  
  <p>But this is an <code>enum</code>-specific idea. I would like to know if, in general, I can write my own <code>IFormatProvider</code> and <code>ICustomFormatter</code> implementation* for a given type and use that formatter to control how values are displayed in a given column of a <code>DataGridView</code> control (or really in <em>any</em> control, for that matter).</p>
  
  <p><sub>*This is just how I suspect it would be done, if what I'm asking is possible at all. I'm not really dead-set on using these interfaces at all.</sub></p>