很简单啊先把DataList数据源绑定
然后
for (int i=0;i<DataList.Items.Count;i++)
{
    DataGird dg=DataList.Items[i].FindControl("DataGrid1");          dg.DataSoure=TEST.getData();
    dg.DataBind();
}
TEST.getData();就是一个返回数据源的方法哈哈就这么简单

解决方案 »

  1.   

    很简单啊先把DataList数据源绑定
    然后
    for (int i=0;i<DataList.Items.Count;i++)
    {
        DataGird dg=)DataGird)DataList.Items[i].FindControl("DataGrid1");          dg.DataSoure=TEST.getData();
        dg.DataBind();
    }
    TEST.getData();就是一个返回数据源的方法哈哈就这么简单
      

  2.   

    主从表:希望对你有帮助。
    <asp:DataGrid id="DataGrid1" BorderColor="#0099FF" runat="server" ShowHeader="False" Width="470px" CellPadding="0" CellSpacing="0" AutoGenerateColumns="False" BorderWidth="2px">
    <Columns>
    <asp:TemplateColumn>
    <ItemTemplate>
    <TABLE cellSpacing="0" cellPadding="0" width="100%" border="0">
    <TR>
    <TD bgColor="#FF6600"><B>订单号:
    <%# DataBinder.Eval(Container.DataItem, "OrderID") %>
    </B>
    </TD>
    </TR>
    <TR>
    <TD align="right">
    <asp:DataGrid id=DataGrid2 runat="server" AutoGenerateColumns="False" BorderColor="#33FF33" DataKeyField="OrderID" DataSource='<%# Ctype(Container.DataItem,DataRowView).CreateChildView("OrderRelation") %>'>
    <HeaderStyle Font-Bold="True" ForeColor="#CC0066" BackColor="#FFCCFF"></HeaderStyle>
    <Columns>
    <asp:BoundColumn Visible="False" DataField="OrderID" ReadOnly="True"></asp:BoundColumn>
    <asp:TemplateColumn HeaderText="产品名称">
    <HeaderStyle Width="300px"></HeaderStyle>
    <ItemTemplate>
    <%# DataBinder.Eval(Container.DataItem, "ProductName") %>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:BoundColumn DataField="UnitPrice" HeaderText="单价"></asp:BoundColumn>
    <asp:BoundColumn DataField="Quantity" HeaderText="数量"></asp:BoundColumn>
    <asp:BoundColumn DataField="Discount" HeaderText="折扣"></asp:BoundColumn>
    </Columns>
    </asp:DataGrid></TD>
    </TR>
    </TABLE>
    </ItemTemplate>
    </asp:TemplateColumn>
    </Columns>
    </asp:DataGrid>
    '打开数据库连接
            Dim OrdersConnection As New SqlConnection("Server=(local)\NetSDK;Database=northwind;Trusted_Connection=yes")        '得到订单和订单详细信息
            Dim OrderAdapter As New SqlDataAdapter("Select * from Orders; select OrderID ,Products.ProductName,[order Details].Unitprice,[order Details].Quantity,[order Details].discount from [order Details],Products where [Order Details].ProductId=Products.ProductID", OrdersConnection)        '创建并填充DataSet对象
            Dim OrderDataSet As New DataSet()        OrderAdapter.Fill(OrderDataSet)        '设定表名字
            OrderDataSet.Tables(0).TableName = "Orders"
            OrderDataSet.Tables(1).TableName = "Order Details"        '在基于OrderID字段的两个表之间建立父子关系
            Dim Parent As DataColumn = OrderDataSet.Tables("Orders").Columns("OrderID")
            Dim Child As DataColumn = OrderDataSet.Tables("Order Details").Columns("OrderID")        Dim OrderRelation As DataRelation = New DataRelation("OrderRelation", Parent, Child, False)        '为DataSet添加关系
            OrderDataSet.Relations.Add(OrderRelation)        '把DataGrid绑定到Orders表
            DataGrid1.DataSource = OrderDataSet.Tables("Orders").DefaultView
            DataBind()
      

  3.   

    我是用VB.NET写的.改成这样结果出错.
    Dim i 
    For i=0 to dl_studentinfo.items.count
    dim dg as datagrid =DataList.Items(i).FindControl("dg_studentrap")
    dg.DataSoure=TEST.getData();
    dg.databind()
    next----------错误代码-----------------Compiler Error Message: BC30469: 对非共享成员的引用要求对象引用。Source Error: Line 346:Dim i 
    Line 347:For i=0 to dl_studentinfo.items.count
    Line 348: dim dg as datagrid =DataList.Items(i).FindControl("dg_studentrap")
    Line 349: dg.DataSoure=TEST.getData();
    Line 350: dg.databind()
     
    那位高手有VB的代码,我只是想在Datalist显示一个DataGrid二者之间只是嵌套,没有什么关联关系.急.........................
      

  4.   

    哈哈你少了强制转换啊
    Dim i 
    For i=0 to dl_studentinfo.items.count
    dim dg as datagrid =(DataGrid)DataList.Items(i).FindControl("dg_studentrap")
    dg.DataSoure=TEST.getData();
    dg.databind()
    next