I have a datagrid with a bound column and a template column as given below.

When I scan through the grid, I get the value of the first column (bound column). However, I cannot get the value of the second column (Template Column). I can see the data in both columns though.

////////////////////////////////////////////////////////////////////////////////////
<AlternatingItemStyle BackColor="#e0e0e0"></AlternatingItemStyle>
<Columns>
<asp:BoundColumn DataField="Facility" HeaderText="Facility"> </asp:BoundColumn>
<asp:TemplateColumn HeaderText="Facility2">
<ItemStyle HorizontalAlign="Left"></ItemStyle>
<ItemTemplate>
</ItemTemplate>
</asp:TemplateColumn>
////////////////////////////////////////////////////////////////////////////////////

foreach (System.Web.UI.WebControls.DataGridItem GridRow in Grid.Items)
{
string str_first_column_value = GridRow.Cells[0].Text ///returns good value
string str_second_column_value = GridRow.Cells[1].Text //returns no value
}

Is there any other syntax to retrieve the TemplateColumn value?