seehttp://www.csdn.net/develop/article/16/16834.shtm

解决方案 »

  1.   

    把子DataGrid做成一个用户控件,
      

  2.   

    http://www.erp800.com/net_lover/ShowDetail.asp?id=149E5DD7-3B32-461e-ACC6-51D1652E6746
      

  3.   

    >>>问题1:在f1.aspx.cs中是没有 protected System.Web.UI.WebControls.DataGrid DataGrid2;这样一行的,那如何访问到DataGrid2each row of DataGrid1 will have an instance of DataGrid2, so you cannot just declare one DataGrid2>>>>问题2:DataGrid2.DataSource是写在 .aspx文件中的,因为必须要用的
    DataGrid1在循环输出数据中的某一项数据,但是总觉得写在.aspx中不好,想写到.cs文件中,请问如何做到这样的功能?

    do it in DataGrid1's ItemDataBound event handlervoid DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e)
      {
       if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == 
    ListItemType.AlternatingItem)
       {
        DataGrid dg = ((DataGrid)e.Item.FindControl("DataGrid2"));
        dg.DataSource = .....;
        dg.DataBind(); 
       }
      }
      

  4.   

    部分代码如下:
    <%@ Register TagPrefix="uc1" TagName="SubTopicContent" Src="SubTopicContent.ascx" %>
    ...<asp:DataGrid ID="myDataGrid" Runat="server" CellSpacing="0" CellPadding="2" BorderWidth="0" AutoGenerateColumns="False" ShowHeader="False">
      <Columns>
         <asp:TemplateColumn> <ItemStyle Height="30px" ForeColor="Blue"></ItemStyle> <ItemTemplate>
                <TABLE>
                  <TR>
                    <TD> <uc1:SubTopicContent id="SubTopicContent1" runat="server"></uc1:SubTopicContent>
                    </td>
                 </tr>            .........