C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: ASP.Netのスプレッドシート内にあるボタン処理について


(過去ログ 177 を表示中)

[トピック内 12 記事 (1 - 12 表示)]  << 0 >>

■101729 / inTopicNo.1)  ASP.Netのスプレッドシート内にあるボタン処理について
  
□投稿者/ tomo2222 (1回)-(2023/04/11(Tue) 16:18:53)

分類:[ASP.NET (VB)] 

ASP.Net、スプレッドシートを使用して開発を行っておりますが、
一つ問題が発生しております。

スプレッドシート内のボタン(CommandName設定なし)押下時、
押下したボタンのセルの位置(行、列)を取得する方法はありますでしょうか。

スプレッドシートには30行以上あり、
指定された列の全行にボタンが設定されている状態です。


開発環境
Windows11
Visual Studio2017
SPREAD for ASP.NET 10.0J

以上、よろしくお願いします。

引用返信 編集キー/
■101730 / inTopicNo.2)  Re[1]: ASP.Netのスプレッドシート内にあるボタン処理について
□投稿者/ WebSurfer (2662回)-(2023/04/11(Tue) 16:21:48)
No101729 (tomo2222 さん) に返信
> ASP.Net、スプレッドシートを使用して開発を行っておりますが、

サードパーティ(GrapeCity?)の製品の話ですか?
引用返信 編集キー/
■101731 / inTopicNo.3)  Re[1]: ASP.Netのスプレッドシート内にあるボタン処理について
□投稿者/ 伝説のカレー (88回)-(2023/04/11(Tue) 16:48:16)
No101729 (tomo2222 さん) に返信
お問い合わせありがとうございます。

スプレッドシート内のボタンを押下した場合、そのボタンのセルの位置(行、列)を取得する方法は、以下の手順で実現できます。

スプレッドシート内のボタンのClickイベントハンドラを作成します。

作成したイベントハンドラ内で、以下のようにコードを記述します。

protected void Button_Click(object sender, EventArgs e)
{
FarPoint.Web.Spread.ButtonCellType button = (FarPoint.Web.Spread.ButtonCellType)sender;
int row = button.Row.Index;
int col = button.Column.Index;
// ボタンを押したセルの行、列を取得
}

ここで、FarPoint.Web.Spread.ButtonCellTypeを使用して、ButtonCellTypeオブジェクトを取得しています。これにより、ボタンを押したセルの行、列を取得することができます。

スプレッドシート内の各ボタンのClickイベントハンドラに上記のコードを追加します。

この方法により、スプレッドシート内のボタンを押下した際に、押下したボタンのセルの位置(行、列)を取得することができます。

なお、上記の手順は、SPREAD for ASP.NET 10.0Jで動作することが確認されています。バージョンによっては異なる場合がありますので、ご注意ください。


だそうです(ChatGPT3.5)
引用返信 編集キー/
■101732 / inTopicNo.4)  Re[2]: ASP.Netのスプレッドシート内にあるボタン処理について
□投稿者/ tomo2222 (2回)-(2023/04/11(Tue) 17:13:26)
No101730 (WebSurfer さん) に返信
> ■No101729 (tomo2222 さん) に返信
>>ASP.Net、スプレッドシートを使用して開発を行っておりますが、
>
> サードパーティ(GrapeCity?)の製品の話ですか?

GrapeCityの製品です。

引用返信 編集キー/
■101733 / inTopicNo.5)  Re[2]: ASP.Netのスプレッドシート内にあるボタン処理について
□投稿者/ tomo2222 (3回)-(2023/04/11(Tue) 17:18:30)
No101731 (伝説のカレー さん) に返信
> ■No101729 (tomo2222 さん) に返信
> お問い合わせありがとうございます。
>
> スプレッドシート内のボタンを押下した場合、そのボタンのセルの位置(行、列)を取得する方法は、以下の手順で実現できます。
>
> スプレッドシート内のボタンのClickイベントハンドラを作成します。
>
> 作成したイベントハンドラ内で、以下のようにコードを記述します。
>
> protected void Button_Click(object sender, EventArgs e)
> {
> FarPoint.Web.Spread.ButtonCellType button = (FarPoint.Web.Spread.ButtonCellType)sender;
> int row = button.Row.Index;
> int col = button.Column.Index;
> // ボタンを押したセルの行、列を取得
> }
>
> ここで、FarPoint.Web.Spread.ButtonCellTypeを使用して、ButtonCellTypeオブジェクトを取得しています。これにより、ボタンを押したセルの行、列を取得することができます。
>
> スプレッドシート内の各ボタンのClickイベントハンドラに上記のコードを追加します。
>
> この方法により、スプレッドシート内のボタンを押下した際に、押下したボタンのセルの位置(行、列)を取得することができます。
>
> なお、上記の手順は、SPREAD for ASP.NET 10.0Jで動作することが確認されています。バージョンによっては異なる場合がありますので、ご注意ください。
>
>
> だそうです(ChatGPT3.5)

情報ありがとうございます。

FarPoint.Web.Spread.ButtonCellType button = (FarPoint.Web.Spread.ButtonCellType)sender;
の部分ですが、
VBではどの様に記述すればよいでしょうか。
C#は経験不足でもうしわけありません。

以上、よろしくお願いします。


引用返信 編集キー/
■101734 / inTopicNo.6)  Re[3]: ASP.Netのスプレッドシート内にあるボタン処理について
□投稿者/ 伝説のカレー (89回)-(2023/04/11(Tue) 17:35:16)
No101733 (tomo2222 さん) に返信

> FarPoint.Web.Spread.ButtonCellType button = (FarPoint.Web.Spread.ButtonCellType)sender;
> の部分ですが、
> VBではどの様に記述すればよいでしょうか。

Dim button = DirectCast(sender, FarPoint.Web.Spread.ButtonCellType)

キャストしてるだけなのでこんな感じでできるはずです
引用返信 編集キー/
■101735 / inTopicNo.7)  Re[4]: ASP.Netのスプレッドシート内にあるボタン処理について
□投稿者/ tomo2222 (5回)-(2023/04/11(Tue) 18:30:37)
No101734 (伝説のカレー さん) に返信
> ■No101733 (tomo2222 さん) に返信
>
>>FarPoint.Web.Spread.ButtonCellType button = (FarPoint.Web.Spread.ButtonCellType)sender;
>>の部分ですが、
>>VBではどの様に記述すればよいでしょうか。
>
> Dim button = DirectCast(sender, FarPoint.Web.Spread.ButtonCellType)
>
> キャストしてるだけなのでこんな感じでできるはずです

教えて頂きありがとうございます。
Dim button = DirectCast(sender, FarPoint.Web.Spread.ButtonCellType)
で取得した「button」のプロパティにRow、Columnがないのですが、
どこか間違っていますでしょうか。


Protected Sub grid1_ClickCellButton(ByVal sender As Object, ByVal e As System.EventArgs) Handles grid1.ButtonCommand

Dim aaa As Integer
Dim bbb As Integer

Dim button = DirectCast(sender, FarPoint.Web.Spread.ButtonCellType)

aaa = button.row.index
bbb = button.Column.index

button.row rowは'ButtonCellType'のメンバーではありません。
button.Column Columnは'ButtonCellType'のメンバーではありません。

以上、よろしくお願いします。

引用返信 編集キー/
■101736 / inTopicNo.8)  Re[5]: ASP.Netのスプレッドシート内にあるボタン処理について
□投稿者/ 伝説のカレー (90回)-(2023/04/11(Tue) 18:48:23)
No101735 (tomo2222 さん) に返信

AIのガセネタでしたね、申し訳ないです
引用返信 編集キー/
■101737 / inTopicNo.9)  Re[2]: ASP.Netのスプレッドシート内にあるボタン処理について
□投稿者/ WebSurfer (2663回)-(2023/04/11(Tue) 18:59:35)
No101731 (伝説のカレー さん) に返信

> だそうです(ChatGPT3.5)

そういうのやめませんか。最低でも自分で検証してからにしましょう。
引用返信 編集キー/
■101738 / inTopicNo.10)  Re[5]: ASP.Netのスプレッドシート内にあるボタン処理について
□投稿者/ 魔界の仮面弁士 (3616回)-(2023/04/11(Tue) 20:09:59)
No101735 (tomo2222 さん) に返信
> Protected Sub grid1_ClickCellButton(ByVal sender As Object, ByVal e As System.EventArgs) Handles grid1.ButtonCommand

Spread は所有していないし使ったことも無いのですが、少なくとも、
No101731 は Button_Click(…) で、
No101735 は grid1_ClickCellButton(…) Handles grid1.ButtonCommand に
なっていますね。

とりあえず、オンラインヘルプで ButtonCommand の仕様を確認してみる。
https://docs.grapecity.com/help/spread-aspnet-10/#FarPoint.Web.SpreadJ~FarPoint.Web.Spread.FpSpread~ButtonCommand_EV.html
https://docs.grapecity.com/help/spread-aspnet-10/FarPoint.Web.SpreadJ~FarPoint.Web.Spread.FpSpread~ButtonCommand_EV.html#


上記ヘルプを見ると、ButtonCommand のイベント引数は
 (ByVal sender As Object, e As FarPoint.Web.Spread.SpreadCommandEventArgs)
であって、
 (ByVal sender As Object, ByVal e As System.EventArgs)
ではないように見えますよ。

そしてヘルプの記述によると、e.CommandArgument As Object から
Point 型にキャストすることで、行・列を得られるかのようなサンプルが書かれています。

そして、これらの情報をもとに検索してみると、こんな記事がヒットしました。
どうやら、サンプルにあった Point 型とは、System.Drawing.Point のことのようです。
https://developer-tools.zendesk.com/hc/ja/articles/360003967935-%E3%83%9C%E3%82%BF%E3%83%B3%E3%81%8C%E6%8A%BC%E4%B8%8B%E3%81%95%E3%82%8C%E3%81%9F%E3%82%BB%E3%83%AB%E3%81%AE%E8%A1%8C-%E5%88%97%E3%82%A4%E3%83%B3%E3%83%87%E3%83%83%E3%82%AF%E3%82%B9%E3%82%92%E5%8F%96%E5%BE%97%E3%81%97%E3%81%9F%E3%81%84
引用返信 編集キー/
■101739 / inTopicNo.11)  Re[3]: ASP.Netのスプレッドシート内にあるボタン処理について
□投稿者/ radian (121回)-(2023/04/12(Wed) 09:04:10)
No101732 (tomo2222 さん) に返信
> GrapeCityの製品です。

商用製品なら開発元のドキュメント探すか、直接問い合わせた方が早くないですか?
引用返信 編集キー/
■101740 / inTopicNo.12)  Re[6]: ASP.Netのスプレッドシート内にあるボタン処理について
□投稿者/ tomo2222 (7回)-(2023/04/12(Wed) 11:30:19)
No101738 (魔界の仮面弁士 さん) に返信
> ■No101735 (tomo2222 さん) に返信
>>Protected Sub grid1_ClickCellButton(ByVal sender As Object, ByVal e As System.EventArgs) Handles grid1.ButtonCommand
>
> Spread は所有していないし使ったことも無いのですが、少なくとも、
> No101731 は Button_Click(…) で、
> No101735 は grid1_ClickCellButton(…) Handles grid1.ButtonCommand に
> なっていますね。
>
> とりあえず、オンラインヘルプで ButtonCommand の仕様を確認してみる。
> https://docs.grapecity.com/help/spread-aspnet-10/#FarPoint.Web.SpreadJ~FarPoint.Web.Spread.FpSpread~ButtonCommand_EV.html
> https://docs.grapecity.com/help/spread-aspnet-10/FarPoint.Web.SpreadJ~FarPoint.Web.Spread.FpSpread~ButtonCommand_EV.html#
>
>
> 上記ヘルプを見ると、ButtonCommand のイベント引数は
>  (ByVal sender As Object, e As FarPoint.Web.Spread.SpreadCommandEventArgs)
> であって、
>  (ByVal sender As Object, ByVal e As System.EventArgs)
> ではないように見えますよ。
>
> そしてヘルプの記述によると、e.CommandArgument As Object から
> Point 型にキャストすることで、行・列を得られるかのようなサンプルが書かれています。
>
> そして、これらの情報をもとに検索してみると、こんな記事がヒットしました。
> どうやら、サンプルにあった Point 型とは、System.Drawing.Point のことのようです。
> https://developer-tools.zendesk.com/hc/ja/articles/360003967935-%E3%83%9C%E3%82%BF%E3%83%B3%E3%81%8C%E6%8A%BC%E4%B8%8B%E3%81%95%E3%82%8C%E3%81%9F%E3%82%BB%E3%83%AB%E3%81%AE%E8%A1%8C-%E5%88%97%E3%82%A4%E3%83%B3%E3%83%87%E3%83%83%E3%82%AF%E3%82%B9%E3%82%92%E5%8F%96%E5%BE%97%E3%81%97%E3%81%9F%E3%81%84

情報ありがとうございます。
System.Drawing.Point
で行列インデックスが取得できそうです。
ありがとうございました。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -