Saranya
Saranya

Reputation: 65

Get hidden value from wpf datagrid

I am new to wpf datagrid. I am getting value from non hidden fields in a datagrid but it returns null value if the field is set to hidden.I am binding a list to a datagrid.

<my:DataGrid RowHeight="30" ColumnWidth="50" AutoGenerateColumns="False" Margin="20,17,0,0" Name="dgUserEnroll" ItemsSource="{Binding}" Background="{StaticResource buttonFlash}" HorizontalAlignment="Left" Width="292" CanUserResizeColumns="False" CanUserAddRows="True" CanUserDeleteRows="True" RowDetailsVisibilityMode="Visible" Height="194" VerticalAlignment="Top">
        <my:DataGrid.Columns>
            <my:DataGridTextColumn Header="id" Width="*" Binding="{Binding Path=UserID}" Visibility="hidden"/>
            <my:DataGridTextColumn Header="UserName" Width="*" Binding="{Binding Path=AdminName}" />
            <my:DataGridTextColumn Header="Role" Width="*" Binding="{Binding Path=RoleName}" />

        </my:DataGrid.Columns>
</my:DataGrid>

C# Code behind:
//To get values from 0th index.
var UsrID = DatagridUtilities.GetCell(this.dgUserEnroll, rowIndex, 0);
user.UserID = int.Parse((UsrID.Content as TextBlock).Text.ToString());

Upvotes: 0

Views: 1577

Answers (1)

Obsidian Phoenix
Obsidian Phoenix

Reputation: 4155

Rather than trying to read the value out of the Cell, why don't you just pull out the Databound item for your row?

if (dgUserEnroll.SelectedItem != null)
{
  var data = (User)dgUserEnroll.SelectedItem;
  var userID = data.UserId;
 }

Upvotes: 1

Related Questions