掲示板一覧   -   トピック一覧
   EA API
     TaggedValueの変更を表示に反映させるには


スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
未登録ゲスト
投稿日時: 2007-5-11 16:45

TaggedValueの変更を表示に反映させるには

要素のTaggedValue属性を変更した場合、値自体は設定される
のですが、ダイアグラムの表示に反映されません。
(開きなおすと反映されています)
何が足りないのでしょうか?

考えられる更新のすべてを実行してみましたが、効果がありませんでした。

taggedValue.Value = "aaa";

taggedValue.Update();
element.Update();
element.TaggedValues.Refresh();
diagram.Update();
package.Update();
sugimoto
投稿日時: 2007-5-11 17:46
EA Administrator
投稿: 1895

Re: TaggedValueの変更を表示に反映させるには

変更した情報をリアルタイムにダイアグラム上に表示する場合は、
情報をデータベースへ保存し、ダイアグラムをリロードします。

Update()は描画ではなく、データベースの情報を更新するために
使用します。

今回の場合ですと、
taggedValue.Value = "aaa";
taggedValue.Update();
Repository.ReloadDiagram(diagram.DiagramID);
で描画されると思いますので、ご確認下さい。

なお、今回は要素に関する変更ですので、上記3行目は
Repository.AdviseElementChange(element.ElementID);
でも描画されます。

では、ご確認のほど、よろしくお願いいたします。
未登録ゲスト
投稿日時: 2007-5-11 18:27

Re: TaggedValueの変更を表示に反映させるには

ありがとうございました。
Repository.AdviseElementChange(element.ElementID)にて描画
が更新されるのを確認しました。

ただ、Elementの属性の場合、AttributeのUpdate()とelementの
Update()を実行すれば表示が更新されていたのですが、どの辺が
違うのかは気になるところです。
sugimoto
投稿日時: 2007-5-14 9:40
EA Administrator
投稿: 1895

Re: TaggedValueの変更を表示に反映させるには

引用:

Repository.AdviseElementChange(element.ElementID)にて描画
が更新されるのを確認しました。

ただ、Elementの属性の場合、AttributeのUpdate()とelementの
Update()を実行すれば表示が更新されていたのですが、どの辺が
違うのかは気になるところです。


描画が更新されたようで、安心いたしました。

なお、ご指摘のようにUpdate()につきましては、現状、実行により
ダイアグラムにリアルタイムに表示されるものもありますし、そう
でないものもあるといった状況です。

Update()は基本的にはデータベースの情報を更新するものですので、
追加・削除・変更した内容をダイアグラムにリアルタイムで表示したい
場合は、ダイアグラムのリロードや要素の変更を通知するAPIの実行
をお願いいたします。
未登録ゲスト
投稿日時: 2007-5-14 11:58

Re: TaggedValueの変更を表示に反映させるには

基本はダイアグラムのリロードや変更通知APIの利用ということですね。

わかりました。ありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ