gpt4 book ai didi

c# - 按索引获取 DataGrid 行

转载 作者:太空狗 更新时间:2023-10-29 21:34:01 26 4
gpt4 key购买 nike

我正在尝试根据索引从我的 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 的空对象。如果我检查网格的 Items[] 属性,我可以看到 13 个项目。

需要有关如何获取网格行的建议,因为我想更改数据网格顶部 2 行和底部 2 行的颜色。

感谢任何帮助。谢谢!!

添加DataGrid项目的截图

enter image description here

重要更新

如果我从 Grid 的 SelectedIndexChanged 事件中调用 GetGridRow(),它会完美运行。

另一方面,如果我在构造显示网格的页面对象后调用它,它会将行对象返回为 NULL。

最佳答案

所以如果它在后面的代码中。您可以只获取 DataGrid 的选定索引。我将数据网格命名为 dataGrid 作为示例。

var rowIndex = dataGrid.SelectedIndex;

var row = (DataGridRow)dataGrid.ItemContainerGenerator.ContainerFromIndex(selectedIndex);

关于c# - 按索引获取 DataGrid 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21413259/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com