c# – 按索引获取DataGrid
发布时间:2020-12-15 08:44:19 所属栏目:百科 来源:网络整理
导读:我试图从我的DataGrid基于索引获取DataGridRow.我使用以下代码: public DataGridRow GetGridRow(int index){ DataGridRow row = (DataGridRow)DG_Statement.ItemContainerGenerator.ContainerFromIndex(index); if (row == null) { // May be virtualized,b
我试图从我的DataGrid基于索引获取DataGridRow.我使用以下代码:
public DataGridRow GetGridRow(int index) { DataGridRow row = (DataGridRow)DG_Statement.ItemContainerGenerator.ContainerFromIndex(index); if (row == null) { // May be virtualized,bring into view and try again. DG_Statement.UpdateLayout(); DG_Statement.ScrollIntoView(DG_Statement.Items[index]); row = (DataGridRow)DG_Statement.ItemContainerGenerator.ContainerFromIndex(index); } return row; } 参考链接 – Get row in datagrid 但遗憾的是它返回了DataGridRow的null对象. 需要建议如何获取网格行,因为我想要更改数据网格的前2行和后2行的颜色. 任何帮助表示赞赏.谢谢!! 添加DataGrid项的屏幕截图 重要更新 如果我从Grid的SelectedIndexChanged事件中调用GetGridRow(),它可以完美地工作. 另一方面,如果我在构造显示网格的页面的对象之后调用它,则将行对象返回为NULL. 解决方法
所以如果它在代码背后.您只需获取DataGrid的选定索引即可.我已将datagrid dataGrid命名为示例.
var rowIndex = dataGrid.SelectedIndex; var row = (DataGridRow)dataGrid.ItemContainerGenerator.ContainerFromIndex(selectedIndex); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |