2011-12-05 24 views
0

私はプロジェクトを進めており、私たちはサードパーティのコントロールライブラリとしてInfragisticsを使用しています。私たちはプロジェクトのドキュメンテーションを提供しておらず、私が知っているのはMVPデザインパターンを使用したことだけです。今私は与えられたタスクに基づいてアプリケーションをデバッグしようとしています。UIの変更時にイベントがトリガーされない

私は(主にインフラジスティックスから)カスタムグリッドを持っており、それは3つの列「COLA、COLB、COLC」を持っています。 ColBおよびColCはコンボボックスを有する。 ColBとColCは既にデータソースにバインドされています。 ColBコンボボックスで選択したアイテムをColBの選択に基づいて変更すると、ColCコンボコレクション自体が改良されます(ColBの値に基づいていくつかのアイテムが削除されます)。ここでは、ColBの選択値に基づいてColCのコレクションの洗練化でいくつかのロジックを変更する必要があります。しかし、洗練がどこで起こっているのか分からないので、私はできません。ブレークポイントを配置しようとしましたが、ColBの値を変更している間にイベントが発生していないので、洗練に関連するコードはわかりません。

私は疑問が私のプロジェクトに固有ですけど、私の質問は、それが離れてブレークポイントからUIの中で私が取る行動に基づいてコードを取得する方法があるが何でありますか?あるいは、この状況で私が従うべきアプローチがありますか?私はデバッグツールであまりよくありません。

ありがとうございます。

答えて

0

私は実際にどのように動作するかを見るためにコードを詳しく調べました。私たちのプロジェクトでは、すべてのコントロールは、別々のソリューションで一緒に作成されるカスタムコントロールです。これらの機能はすべて、さまざまな種類のコントロールで定義されているため、選択を変更している間にイベントがトリガーされなかったのはその理由です。しかし、カスタムコントロールソリューションで何かを変更すると、そのタイプのすべてのコントロールが影響を受けます。そのために、彼らはこれらのカスタムコントロールに付随するカウンターイベントを与えています。私はそれに取り組まなければならない。私はこれが非常にプロジェクト固有のクエリであり、解決策であることを知っています。

0

セル内でコンボボックスを更新するためにどのようなイベントが使用されていると言うのは難しいです。ソースがある場合は、これらのUltraGridイベントでリファインメントコードを確認してください。

イベント後COLBが変更解雇:AfterExitEditMode

  1. CellChange
  2. AfterCellUpdate
  3. AfterRowUpdate

イベントがちょうど前にユーザーが拡大コが表示されます解雇コラムCOLCのmbobox:

  1. BeforeEnterEditMode
  2. BeforeCellListDropDown

はまた、小規模なテストをしてみてください。

  • B1 => C1aを、C1bと、C1cと
  • B2 =>値C2a、C2bと

設定COLB = B1とCOLC = C1bを:たとえば、あなたはCOLBとCOLCの間にこれらの依存関係を持っています。今度は別の行に切り替え、この行に戻り、colBをB2に変更します。 colCの値が変更された場合は、セルの変更後にイベントを調べる必要があります。何も起こらなければ、あなたのコードは両方のイベントグループにあるかもしれません。

また、ValueListのコードを検索しようとする可能性があります。そのコードでこのセルプロパティが使用されている可能性があります。

関連する問題