![](https://i-blog.csdnimg.cn/blog_migrate/3a27cd54e135c4a8bb65a9f3f981f175.jpeg)
这张图是从Access 2007中截取过来的,我们可以清晰地看到它的组成类似于嵌套的DataGrid,可收缩可扩展。本文将讲述如何实现嵌套的DataGrid,以及DataGrid的操作。
PS:这里我们将外层DataGrid定义为父DataGrid,内层DataGrid定义为子DataGrid。
子DataGrid嵌套的父DataGrid里,是因为子DataGrid作为父DataGrid中某模板列中的控件,特别提醒将子DataGrid放在PlaceHolder中,以便日后可以收缩与扩展。
![](/Images/OutliningIndicators/None.gif)
DataSource = ' <%# ((System.Data.DataRowView)Container.DataItem).CreateChildView("ParentTable_ChildTable") %> '
runat = server
id = DataGrid2
CellPadding = " 2 "
BackColor = " #f1f1f1 "
Font - Name = " Verdana "
Font - Size = " 8pt "
AutoGenerateColumns = false
ItemStyle - VerticalAlign = " Top "
ShowFooter = " True "
OnItemCommand = " DataGrid2_ItemCommand "
OnPageIndexChanged = " DataGrid2_PageIndexChanged "
OnSortCommand = " DataGrid2_SortCommand "
AllowPaging = " True "
AllowSorting = " True "
EnableViewState = true >
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
ldtbChildTable.Columns[ " ChildCustomerID " ], false );
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
父DataGrid,子DataGrid的增、删、改与操作一个DataGrid的增、删、改类似,这里就不再累赘。具体可下载代码参考。
代码下载
最后要特别感谢Satya Kanithi,他详细讲述了EditNestedDataGrid,并提供了VB.NET版本。
网址: http://www.codeproject.com/aspnet/EditNestedDataGrid.asp