今天在做一个小的DEMO时,群里有位哥们问到了如何获取当前选中的datagrid的行数据,顺便测试了一下,发现SL的方式要比ASPX的方便很多!并且如果你绑定的数据是Entity的话,那么你可以根据你当前选中的datagrid获取到这个Entity,下面把代码贴上。
注意触发的事件为:CurrentCellChanged
后台代码:
/// <summary>
/// 获取datagrid当前选中的单元格数据
/// 如果绑定的数据源为实体的话默认选中的当前记录为一条实体
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void dgcate_CurrentCellChanged(object sender, EventArgs e)
{
DataGrid grid = sender as DataGrid;
BookService.Book book = (BookService.Book)grid.SelectedItems[0];//获取当前选中的行数据并转换为对应的实体
MessageBox.Show(book.Title.ToString()); //打印该实体对应的属性值
}
注意触发的事件为:CurrentCellChanged
后台代码:
/// <summary>
/// 获取datagrid当前选中的单元格数据
/// 如果绑定的数据源为实体的话默认选中的当前记录为一条实体
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void dgcate_CurrentCellChanged(object sender, EventArgs e)
{
DataGrid grid = sender as DataGrid;
BookService.Book book = (BookService.Book)grid.SelectedItems[0];//获取当前选中的行数据并转换为对应的实体
MessageBox.Show(book.Title.ToString()); //打印该实体对应的属性值
}