在gridview中显示父/子数据

时间:2011-10-19 19:51:09

标签: c# asp.net .net vb.net

我正在尝试创建一个显示项目列表的文档,每个项目下方都有详细信息。我觉得我想做的事情应该比较简单,答案隐藏在我的鼻子底下,但我找不到我想要的东西。

举个例子,假设我只是列出了他们最喜欢的食物的儿童名单。

这是最终显示数据的方式:

DOE,      JOHN       AGE:31
      Apple
      Pie
      Cookies

SMITH,    JANE       AGE:95
      Oats
      Bananas
      Prunes

我从数据库中返回一个表格,如下所示:

USERID  LASTNAME  FIRSTNAME  AGE  FAVORITEFOOD
100     DOE       JOHN       31   Apple
100     DOE       JOHN       31   Pie
100     DOE       JOHN       31   Cookies
101     SMITH     JANE       95   Oats
101     SMITH     JANE       95   Bananas
101     SMITH     JANE       95   Prunes

我正在尝试使用gridview控件执行此操作。我不确定这是我应该使用的。但是我遇到的麻烦是让gridview只列出具有唯一USERID的项目。然后使用该唯一的USERID在下面单独列出每个项目。

是否有任何一种“自动化”的方法可以使用标准的.net控件将其关闭,而无需进入并从代码隐藏中手动拼接它们?

由于

1 个答案:

答案 0 :(得分:1)

好吧,如果你得到一个唯一的查询,假设userid,lastname,firstname和age是重复的(例如,从表中选择不同的USERID,LASTNAME,FIRSTNAME,AGE)到DataTable并获得另一个查询(例如,选择USERID,表中的FAVORITEFOOD到另一个DataTable,它们都在同一个DataSet中,你可以设置一个DataRelation。然后,GetChildRows可用于根据所选父信息显示子信息。我没有按照你要求的方式显示它的经验,但它有两个网格,一个是ItemSource是父网格,另一个是GetchildRows方法(基于父级中选定的行)。不确定这是否有帮助......