DeveloperExpressのQuantumGrid(TCXGrid)を使用してユーザーインターフェイスを文書化する

StackOverflow https://stackoverflow.com/questions/1928321

  •  20-09-2019
  •  | 
  •  

質問

販売ドキュメント(請求書など)を入力するためのユーザーインターフェイスを生成する必要があります。 QuantumGridコンポーネント(TCXGRID)の「開発者Express」のコンポーネントを使用しようとしています。 Devexpressサポートセンターでマスターデテールコンポーネントと検索のデモを見てきましたが、すべてのグリッドを使用してマスターディテールの関係を処理し、複数のレコードを一度に編集するため、すべての役割を果たしていません。

一度にレコード(ドキュメント)を編集し、ヘッダーにObjects DataWareコンポーネント(TDBEDITなど)を使用して、詳細を処理するグリッドを使用するだけです。

このようなもの

alt text

これらのコンポーネントをこの方法で使用する基本的な例はどこにありますか?

役に立ちましたか?

解決

the Quantumgridのマスター/チャイルドプロパティは、主にグリッド内の複数のアイテムをネストするように設計されています。データコンポーネントで関係をセットアップすると、コントロールを正しいDataSourceまでフックするだけですべてが機能します。

したがって、2つのデータセットの顧客と請求書がある場合。 Invoice Master DataSourceは顧客データソースです。次に、編集コントロールで顧客データソースを指して、グリッドを請求書データソースに向けます。

マスター/ディテール関係が何をしているかを考えると、マスターデータセットの現在のレコードと一致するように、詳細データセットのレコードを実際にフィルタリングするだけです。個々の編集コントロールは、接続されているデータセットに常に「現在」レコードを表示します。グリッドには、接続されているデータセット内のすべての可視レコードが表示されます。

ここで表示するように、編集フォームでマスター/ディテール関係を使用しない傾向があります。編集する請求書を選択するために、別の画面に何らかの方法があると思います。私は通常、この編集に必要なレコードのみを使用して、必要なデータセットのコピーを作成します。既存の請求書を編集している場合は、現在のレコードをコピーします。新しい請求書の場合、空のレコードセットから始めることができます。それはより多くの作業です - データセット構造をコピーし、そのデータセットに1つ以上のレコードをコピーする一般的なライブラリ関数がいくつかあります。セットアップに応じて、興味のあるレコードを取得するためにデータベースを作成することもできます。明らかに、それはすべての場合に行われるべきではありません。このアプローチのもう1つの問題は、このデータである他のデータセット、つまりメイン検索画面を更新する方法が必要です。

ただし、編集画面にアクセスすると、物事が熱心になります。今、私はトップレベルのマスターディテール関係について心配する必要はありません。請求書に内部マスター/ディテール関係がある場合、それらに対処できますが、データセットにはこの請求書のデータのみがあることを知っています - データベース内のすべてではありません。

フォームの場合、データセット内のデータを制限すると、すべてを直接接続できるだけで、予想どおりに機能するはずです。顧客データセットには1つのレコードのみがあり、請求書にはこの請求書のレコードがあります。

他のヒント

ClientDataSourceコンポーネントのマスターデテール関係に対応する必要があると思います。グリッドはこの関係に従います。

support@devexpress.comでこれを聞いてみませんか?

VCLサブスクリプションを持っている理由は、もちろんコンポーネントの品質とは別に、優れたサポートサイトとスタッフがあるためです。

そこで、あなたはそれを物を書いた人々に直接尋ねます、そして、彼らはおそらくあなたにサンプルプログラムを提供することを喜んでいます(少なくとも私は長年にわたって多くのサンプルを受け取りました)。

前提は、コンポーネントに関係なく、他のマスターディテール関係と同じです。データセットレベルでマスターデテールをセットアップして、必要なことを達成する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top