WPF bound DataGrid - Can I add an unbound column to show status?
<p><strong>Context</strong></p>

<p>C# WPF desktop application using Visual Studio 2015</p>

<p><strong>Issue</strong></p>

<p>I have a DataGrid bound to a List&lt; T > object showing the user rows of data that are about to be processed. As they are processed I want to have an extra "Status" column on this DataGrid to indicate the success or otherwise of the processing of each row.</p>

<p><strong>Question</strong></p>

<p>How do I go about manupulating this extra column?  I've considered two approaches:</p>

<ol>
<li>Change the bound data to include a Status element.  This is tricky however because the bound objects are obtained directly from an externally sourced API hence the structure is fixed.</li>
<li>Add an unbound column to the DataGrid (see example below).  This is my prefered approach but I don't know how to access the unbound cells to update status as each row is processed.</li>
</ol>

<p><strong>Example</strong></p>

<pre><code>&lt;DataGrid DockPanel.Dock="Bottom" Name="ordersGrid" IsReadOnly="True" Margin="0,5,0,0" CanUserAddRows="False" AutoGenerateColumns="False"&gt;
    &lt;DataGrid.Columns&gt;
        &lt;DataGridTextColumn Header="Status" Binding="{Binding /}"/&gt;
        &lt;DataGridTextColumn Header="Last update date" Binding="{Binding LastUpdateDate, StringFormat=\{0:dd/MMM/yy HH:mm:ss\}}" SortDirection="Ascending"/&gt;
        &lt;DataGridTextColumn Header="Order id" Binding="{Binding OrderId}"/&gt;
        &lt;DataGridTextColumn Header="Sales channel" Binding="{Binding SalesChannel}"/&gt;
        &lt;DataGridTextColumn Header="Currency" Binding="{Binding OrderTotal.CurrencyCode}"/&gt;
        &lt;DataGridTextColumn Header="Amount" Binding="{Binding OrderTotal.Amount, StringFormat=N2}"/&gt;
        &lt;DataGridTextColumn Header="Number of items" Binding="{Binding NumberOfItemsShipped}"/&gt;
        &lt;DataGridTextColumn Header="City" Binding="{Binding ShippingAddress.City}"/&gt;
        &lt;DataGridTextColumn Header="County" Binding="{Binding ShippingAddress.StateOrRegion}"/&gt;
        &lt;DataGridTextColumn Header="Country" Binding="{Binding ShippingAddress.CountryCode}"/&gt;
    &lt;/DataGrid.Columns&gt;
&lt;/DataGrid&gt;
</code></pre>

<p>The grid is displayed to the user and the Status column should initially be blank.  When the user hits a proceed button I'd like to populate the Status column with a success or fail message as each row of data is committed to a database.</p>

<p>..the grid is currently populated in the code behind with...</p>

<pre><code>orders = new List&lt;WebServiceOrders.Order&gt;();

orders = WebAPI.ListOrders(ordersClient.Client, LastImportedDateTime).OrderBy(o =&gt; o.LastUpdateDate).ToList();
</code></pre>

<p>WebServiceOrders.Order <em>doesn't</em> have a Status property</p>