2009-08-02 203 views

回答

2

我不知道一个例子,但这应该很简单。你没有指定这是用于WinForms还是ASP.Net,所以这里是如何做到的。

在WinForms中,您将创建子记录的表单并添加一个公用函数,该函数接受主记录的主键并使用它获取所有子项。

Public void ShowChildRecord(int RecordId) 
{ 
// databinding logic here using the recordID to retrieve the child's data. 

} 

所以具有父记录,假设你使用的是DataGrivView,在SelectedIndexChanged事件处理程序的形式,你有以下几种。

ChildForm f = new ChildForm(); 
f.ShowDialog(this); 
f.ShowChildRecord(); 

类似的问题可能会在ASP.Net通过让子页面采取的recordId作为查询字符串参数,并做了数据绑定在Page_Load事件的子记录来解决。随后,主数据页面上,你将不得不在ItemTemplate这个中继器:

<a href='<%# DataBinder.Eval(Container.DataItem, "RecordId")' Target="_ChildRecords">View child record</a> 
+0

一个很小的狡辩与此否则优秀的答案:如果孩子只会被用来显示一个细节,然后关闭,使recordId一个参数。 – tpdi 2009-08-02 02:09:41