ASP.NET(C#)中的DataGrid的嵌套

De_MainList为DataGrid1的ID
De_ArticleList为DataGrid2的ID

在DataGrid1中必须添加DataKeyField="ID"参数ID 为主表的和次表的关联字段。

首先在InitializeComponet()中添加下面代码

[@more@]

private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
this.De_MainList.ItemDataBound += new DataGridItemEventHandler(this.De_MainList_ItemDataBound);
}

Page_Load事件里添加代码

private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
De_MainListBind();
}
}

写一个方法来获取DataSet,返回DataSet

private DataSet GetDataSet(string sql)
{
SqlConnection connstring = new SqlConnection(ConfigurationSettings.AppSettings["RCConn"]);
SqlDataAdapter sda = new SqlDataAdapter(sql , connstring);
DataSet ds = new DataSet();
sda.Fill(ds);
return ds;
}

绑定DataGrid1

private void De_MainListBind()
{
string sql = "select * from MainList";
DataSet ds = GetDataSet(sql);
this.De_MainList.DataSource = ds;
this.De_MainList.DataBind();
}

当数据绑定到DataGrid1时发生触发面的函数

private void De_MainList_ItemDataBound(object sender , DataGridItemEventArgs e)
{
//暂时不明白什么意思
if (e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem)
{
string sql="select * from ArticleList where Partent="+this.De_MainList.DataKeys[e.Item.ItemIndex].ToString();
DataSet ds=GetDataSet(sql);
//暂时不明白什么意思
DataGrid grid = (DataGrid)e.Item.FindControl("De_ArticleList");
grid.DataSource=ds;
grid.DataBind();
}
}

这些代码仅简单的实现了两个DataGrid的嵌套,可以根据这个思路添加功能


Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=623649

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8355261/viewspace-897407/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/8355261/viewspace-897407/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值