2

データベースから取得したUltraGrid内のアイテムのリストをユーザーに表示しています。今、私には1つのニーズがあり、有用なものや明確なドキュメントが見つからず、学習できるチュートリアルもありません。

このグリッドの機能を拡張して、(+)展開機能を設定する必要があります。これは、ユーザーがそのボタン(+)を押すと、行が展開され、履歴にあるアイテムが表示されます。

この問題を解決したり、学習できる適切なドキュメントを示したりするのを手伝ってくれるのは、世界中の誰ですか?

どうもありがとう。

4

1 に答える 1

2

トリックは簡単です。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]) を展開します。

于 2012-10-09T21:32:23.067 に答える