设计页面 defalt.aspx
<asp:DataGrid ID="DataGrid1" runat="server" width="250%" DataKeyField="Agent_Code" align="center" AutoGenerateColumns="False" AllowPaging="True" PageSize="20" GridLines="Horizontal" OnItemDataBound="DataGrid1_ItemDataBound">
<Columns>
<asp:BoundColumn DataField="Agent_Name" HeaderText="代理名称">
<ItemStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
Font-Underline="False" HorizontalAlign="Center" />
</asp:BoundColumn>
<asp:BoundColumn DataField="Agent_Provice" HeaderText="区域"></asp:BoundColumn>
<asp:BoundColumn DataField="Agent_Connecter" HeaderText="联系人"></asp:BoundColumn>
<asp:TemplateColumn HeaderText="联系方式">
<ItemTemplate>
<asp:GridView ID="GridView1" runat="server" Width="100%" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="Agent_Phone" HeaderText="联系电话" />
<asp:BoundField DataField="Agent_Fex" HeaderText="传真" />
<asp:BoundField DataField="Agent_Tel" HeaderText="手机" />
<asp:BoundField DataField="Agent_E_mail" HeaderText="邮箱" />
<asp:BoundField DataField="Agent_Address" HeaderText="地址" />
<asp:BoundField DataField="Agent_YB" HeaderText="邮编" />
</Columns>
</asp:GridView>
</ItemTemplate>
<HeaderStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
Font-Underline="False" HorizontalAlign="Center" />
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
代码页面: defalt.aspx.cs
string sql = "select * from t_Agent where 1=1";
DataTable ass = System.mySQLConnection.SqlConnections.GetDataTable(sql, "das");
if (ass != null && ass.Rows.Count > 0)
{
this.DataGrid1.DataSource = System.mySQLConnection.SqlConnections.GetDataTable(sql, "k_payway");
this.DataGrid1.DataBind();
}
到这里先把最外层datagrid 绑定好
在datagrid 绑定每一行的时候绑定gridview
protected void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.EditItem)
{
string sqla = "select * from t_Agent where Agent_Code='"+ DataGrid1.DataKeys[e.Item.ItemIndex].ToString()+"'";
DataTable ass = System.mySQLConnection.SqlConnections.GetDataTable(sqla, "das");
if (ass != null && ass.Rows.Count > 0)
{
if ((GridView)e.Item.Cells[4].FindControl("GridView1")!= null)
{
((GridView)e.Item.Cells[4].FindControl("GridView1")).DataSource = System.mySQLConnection.SqlConnections.GetDataTable(sqla, "k_payway");
((GridView)e.Item.Cells[4].FindControl("GridView1")).DataBind();
}
}
}
}
这样就可以运行了。