- PR -

[ASP.NET]SPREADにおけるボタン押下時にその行の色を変更

投稿者投稿内容
新人S
ベテラン
会議室デビュー日: 2005/10/12
投稿数: 74
投稿日時: 2005-10-20 13:40
いつもお世話になっておりますm(_ _)m

早速ですが質問をさせてください。
※Power Tool for .NET SPREAD 使用

まず、やりたいこととしては、
スプレッドのボタンを押したときに押されたボタンがある行の色をグレーにする。
ということです。

Private Sub spdIchiran_UpdateCommand(ByVal sender As System.Object, ByVal e As FarPoint.Web.Spread.SpreadCommandEventArgs) Handles spdIchiran.CellClick

Dim ActivePoint As System.Drawing.Point

ActivePoint = CType(e.CommandArgument, System.Drawing.Point)
End Sub

というふうにして、押されたボタンのY座標をとってみました。
その後に、その行の色を変更…!
と思ったのですが、
ActivePoint.Y
の先がどうやって書いたらいいかわからず…○| ̄|_

ActivePoint.Yのプロパティでどうにかするのではなく、
全く別のメソッドと呼び出す形にした方がいいのでしょうか?

皆様、よろしくお願い致しますm(_ _)m

えんぞ@?
ぬし
会議室デビュー日: 2004/07/06
投稿数: 271
お住まい・勤務地: はまっこ
投稿日時: 2005-10-20 14:27
こんな感じだったかな!?
spdIchiran.ActiveSheetView.Cells(ActivePoint.X, ActivePoint.Y).BackColor = System.Drawing.Color.Blue

因みに、Spreadにサンプルコードがバンドルされていませんでしたか?
自分の場合、Spreadにて実現させたい時に不明な場合は、
----------------------------
サンプルコードを漁る。又はヘルプのプロパティ/メソッドを漁る
 ↓
グレープシティのFAQをチェック
 ↓
サポートメールを送る
----------------------------
で、大抵の情報は事足りています。(^^)
新人S
ベテラン
会議室デビュー日: 2005/10/12
投稿数: 74
投稿日時: 2005-10-20 15:37
さっそくのお返事ありがとうございます(>_<)

ちょっとおききしたいのですが、

>因みに、Spreadにサンプルコードがバンドルされていませんでしたか?

とは、どういうことなのでしょうか?どこかのフォルダにサンプルコードがあったりするのでしょうか?
勉強不足ですみません(>_<;

>グレープシティのFAQをチェック

ちょっと行き詰まったので、探してみました。
そこで、私が投稿したコードが載っていたので、使ってみました^^;

えんぞ@?さんに教えていただいた
--------------------------------------------------------------
spdIchiran.ActiveSheetView.Cells(ActivePoint.X, ActivePoint.Y).BackColor = System.Drawing.Color.Blue
--------------------------------------------------------------

というコードなのですが、実行してみると、選択されたセルの背景の色が
変わります。これを応用すればこのセルからこのセルまでをこの色にする
という様なことができそうです。
しかし、そうすると選択が外れた際に色を解除するコードも書かなければならなくなります。
一番よいのは、行のヘッダを押したときに行全体がグレーで選択されている、あの状態がのぞましいと考えます。
それを使えば、プロパティもしくはメソッドをクリックイベントの中に1,2行書けばうまくいく、という風にならないかな、と甘い期待を抱いております^^;

そんなにSPREADは甘くないでしょうか?(>_<;
えんぞ@?
ぬし
会議室デビュー日: 2004/07/06
投稿数: 271
お住まい・勤務地: はまっこ
投稿日時: 2005-10-20 15:56
実現させたい事を勝手に推測すると、ActiveRowとActiveColumnを指定すれば可能かもしれません。

引用:

>因みに、Spreadにサンプルコードがバンドルされていませんでしたか?
とは、どういうことなのでしょうか?どこかのフォルダにサンプルコードがあったりするのでしょうか?


これについては、インストールする際デフォルトのままであれば、C:\Program Files\直下にSpreadNETWebを辿ってみましょう。
(環境により若干違うかもしれませんが)

Spreadのms-helpを参照すると幸せになれるかもしれませんね。
新人S
ベテラン
会議室デビュー日: 2005/10/12
投稿数: 74
投稿日時: 2005-10-21 12:52
こんにちは。
いつもありがとうございますm(_ _)m


Me.spdIchiran.ActiveSheetView.ActiveRowで、
ActiveRowはとることができるのですが、その中にそれらしき
プロパティが無いように思えて…(>_<;
ひょっとして、ActiveRowをキャストしてから別のプロパティで
設定できるのでしょうか?

質問ばかりですみませんm(_ _)m

>Spreadのms-helpを参照すると幸せになれるかもしれませんね。

ms-helpでフォルダ内を全検索をしても見つからなかったのですが
どういう意味なのでしょうか?(>_<;
私の探す場所がおかしいのでしょうか…?

よろしくおねがいしますm(_ _)m
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-10-21 13:00
引用:

新人Sさんの書き込み (2005-10-21 12:52) より:

Me.spdIchiran.ActiveSheetView.ActiveRowで、
ActiveRowはとることができるのですが、その中にそれらしきプロパティが無いように思えて…(>_<;


ActiveRow の型が何であるかはわかった上で仰ってますか? > それらしきプロパティ

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
えんぞ@?
ぬし
会議室デビュー日: 2004/07/06
投稿数: 271
お住まい・勤務地: はまっこ
投稿日時: 2005-10-21 13:08
引用:

Me.spdIchiran.ActiveSheetView.ActiveRowで、
ActiveRowはとることができるのですが、その中にそれらしき


あぁ、すみません。検証しておらずドキュメントを参照しただけなので、的を外しているかもしれません。

引用:

ms-helpでフォルダ内を全検索をしても見つからなかったのですが


まずはドキュメントを確認することをお勧めします。
ドキュメントの確認方法は、VSのSpreadコード上にてファンクションキーの"F1"を押下すると参照できるはずです。
えんぞ@?
ぬし
会議室デビュー日: 2004/07/06
投稿数: 271
お住まい・勤務地: はまっこ
投稿日時: 2005-10-21 13:37
かなり適当に答えてしまっていたので、検証してみました。
コード:

Dim ActivePoint As System.Drawing.Point = CType(e.CommandArgument, System.Drawing.Point)
FpSpread1.Sheets(0).SelectionModel.SetSelection(ActivePoint.Y - 1, 0, 1, FpSpread1.Sheets(0).ColumnCount)


とすれば、ボタンを押下した「行全体を選択」した状態になります。
記述してあるプロパティやメソッドは、必ずドキュメントにて確認してくださいね。

[追記]
引用:

行のヘッダを押したときに行全体がグレーで選択されている、あの状態


内容をよく理解しておりませんでした。(汗
ActiveRowとActiveColumnは単一のセルを選択する場合ですね。(^^;


[ メッセージ編集済み 編集者: えんぞ@? 編集日時 2005-10-21 13:51 ]

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