title: Silverlight RadGrid Copy operation shows class name instead of bound value
body: <p>I'm trying to implement the Copy mechanism with Telerik's RadGridView (Silverlight version), but I have a serious problem.
  My Datagrid is bound to a ObservableCollection. Here is the MyRow class:</p>
  
  <pre><code>public class MyRow  
  { 
      public List&lt;string&gt; ColumnNames { get; set; } 
      public List&lt;decimal?&gt; Values { get; set; } 
  
      public String TimeStamp { get; set; } 
  
      public MyRow() 
      { 
          ColumnNames = new List&lt;string&gt;(); 
          Values = new List&lt;decimal?&gt;(); 
      } 
  }
  </code></pre>
  
  <p>As you can see, the columns are created dynamically, because the <code>MyRow</code> object can hold an arbitrary number of values (so that number of columns would have to be made). The columns are generated for each <code>String</code> in <code>ColumnNames</code> and the values are bound by using the parameterized <code>ValueConverter</code>.</p>
  
  <pre><code>private void createColumns(ObservableCollection&lt;MyRow&gt; values) 
  { 
      while (dataGrid.Columns.Count &gt; 1) 
          dataGrid.Columns.RemoveAt(1); 
  
      dataGrid.Columns[0].Header = CommonStrings.TimeStamp; 
      int columnCount = values.First().ColumnNames.Count; 
  
      for (int i = 0; i &lt; columnCount; i++) 
      { 
          GridViewDataColumn col = new GridViewDataColumn(); 
          col.Header = values.First().ColumnNames[i]; 
          col.DataType = typeof(MyRow); 
          Binding bnd = new Binding(); 
          bnd.Converter = new MyRowCollectionConverter(); 
          bnd.ConverterParameter = i; 
          col.DataMemberBinding = bnd; 
          dataGrid.Columns.Add(col); 
      } 
  }
  </code></pre>
  
  <p>However, when I try to Copy (CTRL+C), this is what I get:</p>
  
  <pre><code>TimeStamp               Value1 
  12.12.2011. 9:51:59     MyProject.MyRow 
  12.12.2011. 9:52:59     MyProject.MyRow 
  12.12.2011. 9:53:59     MyProject.MyRow 
  12.12.2011. 9:54:59     MyProject.MyRow
  </code></pre>
  
  <p>Value1 is the name contained in the <code>List&lt;String&gt; ColumnNames</code>. That part is ok. However, I don't get the data (which are the decimal values, like 0.242524312), but instead I get the class name.</p>
  
  <p>What can I do to make the copy operation retain the values in the bound property of the MyRow object instead of its class name (I guess it calls the ToString() method on whatever is inside)?</p>
  
  <p>(Question also posted on <a href="http://goo.gl/q7WTr" rel="nofollow">Telerik's forum</a>).</p>