2009-07-14 8 views
1

私は、パブリケーションと呼ばれる親テーブルと所有者と呼ばれる子テーブルを持っています。これらの2つの(データ)テーブルは、DataSet(これはすべてC#のものです)に含まれ、定義された関係を持っています。 1つの出版物に複数の所有者を持たせることができます。データセット、親/子テーブルの関係とGridviewのコントロール

私はGridViewコントロールを使用していますが、私の質問は、どのようにグリッドビューコントロールに表示する子テーブルの情報を取得するのですか?グリッドビューはメインデータセットにリンクされています。

私はここで情報を読んだことがありますが、迷惑なのはコンソールに物を書くことはあまり役に立ちません。

http://msdn.microsoft.com/en-us/library/d6s958d6(VS.80).aspx

おかげR.

答えて

1

あなたは、親のグリッドにあるものoverwirte親行、または最も簡単な方法は下のように、ネストされた行を表示、下記の別のグリッドを表示するには、子の情報を希望していますそのグリッドを選択し、親グリッド行を選択すると、下位グリッドにサブセット情報が設定されますか?

は、代わりに詳細ビューで情報を貼り付けるのhttp://www.asp.net/learn/data-access/tutorial-10-cs.aspx

を見てみましょう、ちょうど別のGridViewを使用します。あなたの希望する出力を明確にすると、私はおそらくより良い方向にあなたを指すことができます。

更新日: 詳細なコードを記載したこの記事は、あなたが探しているものを正確に提供すると考えていますが、より簡単な方法やより洗練されたソリューションがあるかもしれませんが、少なくともこれを今すぐ稼働させます。まあ

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

+0

おかげBreadtruckは、私は何をしようとしていることは、親のGridViewのセルに表示するために所有者のリストを取得しているので、何か よう 公報、市、州、タイプ、所有者 BrocksビューOklahom OK Wニュースプレス 大企業 私たちはすべての株を所有しています。 他の出版物 少し明確にしたいと思います。 – flavour404

+0

もちろん、そのコメントの私の書式は完全に失われました! 所有者はリストとして表示されます。 – flavour404

0

あなたが同じGridViewの中でそれをしたい場合は、列に表示する必要が...どのようにデータバインディングに子を検索し、いくつかのコードを呼び出すの列コレクションのテンプレートフィールドについて出版物のIDに基づくレコード:

<Columns> 

     <asp:TemplateField HeaderText="Description" SortExpression="Description"> 
      <ItemTemplate> 
      <%# GetChildRowRepresentation((int)Eval("Id")) %> 
      </ItemTemplate> 
     </asp:TemplateField> 

</Columns> 



protected string GetChildRowRepresentation(int id) 
{ 
    //look up the data set, return the appropriate info 
} 

リピーターは、カスタムレイアウトを使用した方がわかりやすいので、グリッドビューよりも優れた決定であるかもしれません。