我在迭代网格时试图获取子模板的数据。
我从这开始:
foreach (GridViewRowInfo row in radGridView1.Rows)
{
err = IterateChildRows(row);
}
并将该行传递给:
private bool IterateChildRows(GridViewRowInfo rowInfo)
{
bool err = false;
if (rowInfo.Cells[5].Value != null && rowInfo.Cells[5].Value.ToString() != "01/01/1900")
{
if (rowInfo.Cells[0].ViewTemplate.Templates[0].Caption == "Current")
{
if (rowInfo.ViewTemplate.Templates[0].RowCount == 0)
{
MessageBox.Show("Not all products have CURRENT quantity breaks", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
err = true;
}
}
}
return err;
}
我的问题是,我似乎无法找到我传入的行的子模板数据。我尝试的所有内容似乎都包含所有主模板项中的所有子行,而不仅仅是行I传入。
因此,如果我的主网格中有2个项目,而我的子模板中有3个项目,那么我的计数为6而不是3。
我不知道我哪里出错......
任何?
干杯 迪安
答案 0 :(得分:1)
尝试以下操作,可以通过HierarchyRowInfo
访问子框private bool IterateChildRows(GridViewRowInfo rowInfo)
{
bool err = false;
GridViewHierarchyRowInfo hierarchyRow = rowInfo as GridViewHierarchyRowInfo;
//To get current row childRows count
int noOfChildRows = hierarchyRow.ChildRows.Count;
//looping through the child rows
foreach (GridViewRowInfo row in hierarchyRow.ChildRows)
{
//check if its current child row
if(row.IsCurrent)
{
// Do your logic
}
}
return err;
}