如何将网格视图用于网格视图?

时间:2010-10-09 07:07:45

标签: asp.net

我有一个概念,比如我想在另一个网格视图中使用网格视图。这是必需的,因为我想显示带有外键的记录,其中有许多相关记录。

例如,我希望输出像我有一个包含课程名称的表和另一个包含每门课程主题的表。

在输出中,我希望结果的格式是每个课程名称在列表中显示所有课程下面的主题?

我该怎么做

2 个答案:

答案 0 :(得分:4)

在网格代码中显示网格

每次将行数据绑定到父网格时,都会触发OnRowDataBound事件。使用OnRowDataBound事件来捕获它

OnRowDataBound="gridViewParticipant_RowDataBound"

protectedvoid gridViewParent_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
GridView gridViewChild = (GridView)e.Row.FindControl("gridViewChild ");
string participantID = ((DataRowView)e.Row.DataItem)["ParticipantID"].ToString();
if (!string.IsNullOrEmpty(participantID))
{
gridViewChild .DataSource = SOURCE;//load data from database based on foriegn key, make sure that you should select that foreign key field in to your data by which you bind parent gridview, i giving here for example ParticipantID 
gridViewChild .DataBind();
}
else
{
gridViewChild .Visible = false;
}
}
}

答案 1 :(得分:0)

我相信你正在寻找分级网格视图。

很少有免费例子:

http://msdn.microsoft.com/en-us/magazine/cc164077.aspx

http://www.aspboy.com/Categories/GridArticles/Hierarchical_GridView_With_Clickable_Rows.aspx

也可以找到一些专业人士,例如devexpress:http://demos.devexpress.com/ASPxGridViewDemos/