- PR -

SPREADのフォーカス移動について

1
投稿者投稿内容
だんご虫
会議室デビュー日: 2006/07/30
投稿数: 18
投稿日時: 2006-10-06 17:40
いつもお世話になっております。
皆様のお力をお貸しください。

VB.NET
SPREAD for .NET 2.5J Windows Forms Edition
で開発を行っております。

SPREADが以下のような階層で表示されている時、

データA
  データAの子aa
  データAの子ab
データB
データC
  データCの子ca
  データCの子cb

いずれかの子要素をマウスクリックで選択し、フォーカスが移動した後に、
いずれかの親要素へフォーカスをクリックではなく、
コードで移動しようとしたところ、できない状態です。

子要素から親要素へフォーカスを移動させるには、
どのように行えばよろしいのでしょうか?
ご教授宜しくお願い致します。



[ メッセージ編集済み 編集者: だんご虫 編集日時 2006-10-06 17:41 ]

[ メッセージ編集済み 編集者: だんご虫 編集日時 2006-10-06 17:42 ]
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-10-06 17:50
引用:

だんご虫さんの書き込み (2006-10-06 17:40) より:

いずれかの子要素をマウスクリックで選択し、フォーカスが移動した後に、いずれかの親要素へフォーカスをクリックではなく、コードで移動しようとしたところ、できない状態です。

子要素から親要素へフォーカスを移動させるには、どのように行えばよろしいのでしょうか?


ごめんなさい、いろいろと不明な点があります。

まず、"フォーカスをクリックではなく、コードで移動しようとした" の意味が良くわからないです。
階層を何で表現しているのかがわからないです。
結局どうしたいのに、どうなってしまったのかがわからないです。
それと、現在の実装を教えてくださらないと、問題点を指摘できないと思います。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
たっく
会議室デビュー日: 2006/10/07
投稿数: 1
投稿日時: 2006-10-07 21:17
リレーションを設定したデータセットをSPREADに連結すると、
階層で表示できるんですよね。

ご質問のフォーカス移動ですが、Ver1.0ではできなかったように思いますが、
Ver2.5ではどうなんでしょうか・・・
とりあえず製品ヘルプで、FpSpreadかSpreadViewかSheetViewクラスあたりの
メソッドにそれらしい機能を提供しているものがないか、調べてみてはどうでしょう?

それでも分からない場合は、メーカーさんのサポートに聞くのが良いかも
しれません。

解決できたらこちらへのフィードバックもよろしくお願いします。m(_ _)m
だんご虫
会議室デビュー日: 2006/07/30
投稿数: 18
投稿日時: 2006-10-10 12:41
じゃんぬねっと様、
たっく様
返信ありがとうございます。

階層は、二つのテーブルがリレーション設定されたデータセットを、SPREADに連結し、
階層で表示するものです。子が有る場合は、親と子の2階層となります。

やりたい事は、子階層のデータが展開され、
フォーカスが当たっている場合(アクティブ状態)に
画面上のボタンを押下した際に、全ての子階層のデータを閉じて、
親階層の先頭データにフォーカスを当てる状態(アクティブ状態)
にしたいというものです。

ボタンクリックイベントでは以下の事をしています。

'現在の子アクティブをクリア
Dim ss As FarPoint.Win.Spread.SheetView
ss = FpSpread1.Sheets(0).FindChildView(FpSpread1.Sheets(0).ActiveRowIndex, 0)
If IsNothing(ss) = False Then
ss.ClearSelection()
End If

'全ての展開を閉じる
For i As Integer = 0 To FpSpread1.Sheets(0).RowCount - 1 Step 1
FpSpread1.Sheets(0).ExpandRow(i, False)
Next

FpSpread1.Focus()
FpSpread1.Sheets(0).ActiveRowIndex = 0
FpSpread1.Sheets(0).SetActiveCell(0, 0)
FpSpread1.Sheets(0).AddSelection(0, 0, 1, 1)


たっく様のおっしゃる通り、
V1.0では対応していないとFAQに書かれていました。
V2.5では可能になったのかどうか、メーカーに問合せしてみたいと思います。
だんご虫
会議室デビュー日: 2006/07/30
投稿数: 18
投稿日時: 2006-10-30 17:58
お世話になっております。だんご虫です。

結論から言いますと可能だそうです。

メーカーからの回答がFAQに掲載されましたのでURLを張っておきます。


http://www.grapecity.com/Japan/Support/Search/FaqContent.asp?id=22757
1

スキルアップ/キャリアアップ(JOB@IT)