我想获得一个能够根据特定列的值添加子标题(一行或多行)的网格(数据源按此列排序)。在我继承的 GridView 中,我重写了 OnRowDataBind 方法:如果当前调用 OnRowDataBind 时考虑列的值不等于先前的值,则在当前行之前插入特殊标题行。
Table tbl = this.Controls[0] as Table; //this - pointer to CustomGridView
tbl.Controls.AddAt(rowIndex + add_counter + 1, NewSubHeaderRow); /*rowIndex - RowIndex of current row, add_counter - amount of already added SubHrader rows */
一切正常。但是问题发生在回发时,当 GridView 恢复它的状态时。每个组的第一行及其所有控件(换句话说,每个动态添加的子标题行之后的第一行)没有任何属性。但是组中的第二行保留了自己的属性和第一行的属性。
一些帮助将非常有用。也许还有另一种(也是正确的)方法可以将行添加到 GridView 中。那么请给我提供教程或文章的链接。