トリックは簡単です。2 つ (またはそれ以上) のテーブルと、テーブルを結合する正しい DataRelation オブジェクトを含む DataSet にグリッドをバインドするだけです。
また、プロパティgrid.DisplayLayout.ViewStyleがMultiBandに設定されていることも確認する必要があります (これがデフォルトであるため、既に設定されているはずです)。
したがって、たとえば、この疑似コードでは、2 つのテーブルをロードしてデータセットに追加し、関連する列間の関係を想定して定義し、最後にデータセットをグリッドにバインドします。
DataSet ds = new DataSet();
DataTable dtItems = YourLoadDataTableMethodHere("Items");
ds.Tables.Add(dtItems);
DataTable dtHistory = YourLoadDataTableMethodHere("History");
ds.Tables.Add(dtHistory);
DataRelation rel = new DataRelation("Items_History_Relation",
dtItems.Columns["IDItem"],
dtHistory.Columns["IDItem"]);
ds.Relations.Add(rel);
grid.DataSource = ds;
これにより、UltraGrid は自動的に 2 つのバンド (grid.DisplayLayout.Bands[]) を作成します。最初のバンド (Band[0]) には、Items データテーブルの行があり、各行にはクリックする [+] ボタンがあります。最初のバンドの行に関連する履歴行が表示される 2 番目のバンド (Band[1]) を展開します。