0

DevExpress ツールの使用は初めてです。メインの GridView と次のレベルの 3 つの他の Gridviews を持つ GridControl を設計しました。メインの GridView のオプションを変更しました: EnableMasterViewMode = True、および EnableDetailToolTip = true。

http://demos.devexpress.com/ASPxGridViewDemos/MasterDetail/Det​​ailTabs.aspxで提示されているようなものを設計したい

そう:

  1. プロジェクトを実行すると、私のデザインは最初のレベルを表示します。前のリンクに表示されるネストされたグリッドのビューを取得するにはどうすればよいですか?

  2. グリッドにバインドするデータは、実行時にデータベースではなくリストに保存されます。データベースではなくリストからグリッド セルと列を埋めるにはどうすればよいでしょうか?

4

1 に答える 1

1

ソース:

WinForms を使用している場合は、次のヘルプ トピックを確認してください:実行時に作成されたデータにコントロールをバインドする、実行時作成されたデータにコントロールをバインドする方法

GridControl、コレクションを返すプロパティを主従関係として自動的に扱います。したがって、対応するプロパティをクラスに実装しGridControl.DataSource、標準の .Net DataGridView コントロールの場合とまったく同じ方法でマスター コレクションをプロパティに割り当てる必要があります。このタスクは、XtraGrid に固有のものではありません。XtraGrid に同梱されている GridTutorials プロジェクトの GridUnboundMasterView モジュールもお試しください。

グリッドは、ルート レベルでのみ IList インターフェイスを実装するプロパティの詳細ビューを作成します。この動作はGridControl で説明されています - 詳細コレクション タイプが IListチケットから継承されたインターフェイス タイプである場合、詳細ビューが作成されるようになりました。推奨されるアプローチは、IList と共に IList インターフェイスを実装することです。この場合、グリッドは、コレクション プロパティによるオブジェクトのマスター/ディテール関係の実装のヘルプ トピックで説明されているように、詳細ビューを自動的に作成します。こちら で説明されているように、イベントを介して主従関係を提供することもできます。

コードスニペットの例:

gridControl1.DataSource = new NestedRecords();
//... 
public class NestedRecords : ArrayList {
    public NestedRecords() {
        Add(new NestedRecord("Customers", new ChildRecordsCustomers()));
        Add(new NestedRecord("Products", new ChildRecordsProducts()));
        Add(new NestedRecord("Shippers", new ChildRecordsShippers()));
    }
    public virtual new NestedRecord this[int index] {
        get { return (NestedRecord)(base[index]); }
    }
}

リファレンス:
IList プロパティ
を使用したマスター ディテール iList でマスター ディテールを使用する Ilist を使用してマスター/ディテール グリッド
コントロールを作成する
方法 XtraGrid はマスター/ディテール グリッドのコレクションを検出する方法

WebForms を使用している場合は、次のドキュメントのヘルプ トピックを確認してください: Master-Detail Relationshipを参照し、dataTable ではなくコレクション dataSource を取得する実装を試みてください。

于 2013-01-24T06:19:22.517 に答える