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

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

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

OnCellClickの使い方


(過去ログ 6 を表示中)

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

■7010 / inTopicNo.1)  OnCellClickの使い方
  
□投稿者/ サマー 一等兵(27回)-(2006/09/30(Sat) 20:41:50)

分類:[VC++(C++/CLI)] 


分類:[VC++(C++/CLI)] 

[環境]
Windows XP
Visual C++ 2005
Microsoft SQL Server

[テンプレート]
Windowsフォームアプリケーション

[質問]
データグリッドビューのOnCellClickメソッドの使い方を教えてください。

0
引用返信 編集キー/
■7011 / inTopicNo.2)  Re[1]: OnCellClickの使い方
□投稿者/ Hongliang 曹長(94回)-(2006/09/30(Sat) 21:04:32)
Hongliang さんの Web サイト

分類:[VC++(C++/CLI)] 

CellClick イベントじゃ駄目ですか。
実現できる事はほぼ変わりませんが。

// 使い方と言われても返答は難しい。

0
引用返信 編集キー/
■7012 / inTopicNo.3)  Re[2]: OnCellClickの使い方
□投稿者/ サマー 一等兵(28回)-(2006/09/30(Sat) 22:41:04)

分類:[VC++(C++/CLI)] 

No7011に返信(Hongliangさんの記事)
> CellClick イベントじゃ駄目ですか。
> 実現できる事はほぼ変わりませんが。
>
> // 使い方と言われても返答は難しい。

CellClickでもいいです。使い方とは引数になにをいれたらいいかとか、
どの場所で使用できるかとかです。

0
引用返信 編集キー/
■7016 / inTopicNo.4)  Re[3]: OnCellClickの使い方
□投稿者/ επιστημη 大尉(164回)-(2006/10/01(Sun) 00:48:16)
επιστημη さんの Web サイト

分類:[VC++(C++/CLI)] 

> CellClickでもいいです。使い方とは引数になにをいれたらいいかとか、
> どの場所で使用できるかとかです。

イベントだから呼ぶもんじゃないんですけど。


0
引用返信 編集キー/
■7017 / inTopicNo.5)  Re[4]: OnCellClickの使い方
□投稿者/ 同じ質問? 二等兵(2回)-(2006/10/01(Sun) 01:13:05)

分類:[VC++(C++/CLI)] 

>[質問]
>サマーです。手動ではなくてプログラム上でデータグリッドビューのセルを
>クリックするにはどうしたらよいでしょうか?
http://f57.aaa.livedoor.jp/~jeanne/bbs/faq.cgi?mode=al2&namber=6389

0
引用返信 編集キー/
■7018 / inTopicNo.6)  Re[4]: OnCellClickの使い方
□投稿者/ サマー 一等兵(30回)-(2006/10/01(Sun) 02:33:44)

分類:[VC++(C++/CLI)] 

No7016に返信(επιστημηさんの記事)
>>CellClickでもいいです。使い方とは引数になにをいれたらいいかとか、
>>どの場所で使用できるかとかです。
>
> イベントだから呼ぶもんじゃないんですけど。
>

イベントはどういう風につかうんでしょうか?

0
引用返信 編集キー/
■7023 / inTopicNo.7)  Re[5]: OnCellClickの使い方
□投稿者/ επιστημη 大尉(165回)-(2006/10/01(Sun) 03:05:50)
επιστημη さんの Web サイト

分類:[VC++(C++/CLI)] 

> イベントはどういう風につかうんでしょうか?

「それが起こったらこいつを呼んでね」ってやつです。

「ダイアログを開ける」という処理を「ボタンが押された」イベントに貼り付けておけば
「"ボタンが押された"ら"ダイアログが開く"」ように動いてくれます。


0
引用返信 編集キー/
■7029 / inTopicNo.8)  Re[1]: OnCellClickの使い方
□投稿者/ επιστημη 大尉(167回)-(2006/10/01(Sun) 12:38:54)
επιστημη さんの Web サイト

分類:[VC++(C++/CLI)] 

> データグリッドビューのOnCellClickメソッドの使い方を教えてください。

OnCellClickはprotectedメソッドなので、外から呼び出すことはできません念のため。


0
引用返信 編集キー/
■7034 / inTopicNo.9)  Re[2]: OnCellClickの使い方
□投稿者/ サマー 一等兵(35回)-(2006/10/01(Sun) 19:29:20)

分類:[VC++(C++/CLI)] 

No7029に返信(επιστημηさんの記事)
>>データグリッドビューのOnCellClickメソッドの使い方を教えてください。
>
> OnCellClickはprotectedメソッドなので、外から呼び出すことはできません念のため。
>

protectedメソッドなのでだめですか。外からセルクリックイベントを発生
させる方法はないですか?Selectedプロパティだけではセルが選択されるだけ
でクリックイベントは発生しないみたいですし。

0
引用返信 編集キー/
■7035 / inTopicNo.10)  Re[3]: OnCellClickの使い方
□投稿者/ επιστημη 大尉(171回)-(2006/10/01(Sun) 19:45:16)
επιστημη さんの Web サイト

分類:[VC++(C++/CLI)] 

> protectedメソッドなのでだめですか。

導出クラスのメソッドから呼ぶことはできます。

> 外からセルクリックイベントを発生させる方法はないですか?

なぜそんなことしたいのでしょうか?
別の(もっとスマートな)方法があるかもしれません。


0
引用返信 編集キー/
■7037 / inTopicNo.11)  Re[4]: OnCellClickの使い方
□投稿者/ サマー 一等兵(36回)-(2006/10/01(Sun) 20:18:46)

分類:[VC++(C++/CLI)] 

No7035に返信(επιστημηさんの記事)
>>protectedメソッドなのでだめですか。
>
> 導出クラスのメソッドから呼ぶことはできます。
>
>>外からセルクリックイベントを発生させる方法はないですか?
>
> なぜそんなことしたいのでしょうか?
> 別の(もっとスマートな)方法があるかもしれません。
>

要はデータベースに関連づけられたデータグリッドビューをテーブルの更新直後
に再表示されることです。現在はデータテーブルをUpdateしても
データグリッドのセルを手動でクリックしないと新しいデータが表示されません。

ですので、データグリッドビューのプロパティSelected = trueなどを試して
みましたが、セルが選択されるだけで再表示されませんでした。

0
引用返信 編集キー/
■7063 / inTopicNo.12)  Re[5]: OnCellClickの使い方
□投稿者/ επιστημη 大尉(173回)-(2006/10/02(Mon) 15:11:24)

分類:[VC++(C++/CLI)] 

> 要はデータベースに関連づけられたデータグリッドビューをテーブルの更新直後
> に再表示されることです。現在はデータテーブルをUpdateしても
> データグリッドのセルを手動でクリックしないと新しいデータが表示されません。

これは、クリックイベントに反応するハンドラの中で何一つしなくとも、
クリックすれば更新されるのでしょうか?

それとも「ハンドラの中で明示的に更新している」から、
あたかもクリックしたかのように見せかけたい のでしょうか?

あるいはたとえばそのアプリが参照しているデータベースに
別のアプリが貼りつき適当にデータをいじると、
データグリッドに表示された値は勝手に変更されてくれるのでしょうか?
そうでなければ"更新せよ"すなわち再クエリせなあきませんよね。
グリッドビューにたいして"データベースを読み直せ"とお願いすること
はできないのでしょうか?
その唯一の手段がセルのクリックだとは考えづらいのですが。

# 僕はDBに疎いのでシロート考えですけども、キモは外してないと思う


0
引用返信 編集キー/
■7085 / inTopicNo.13)  Re[6]: OnCellClickの使い方
□投稿者/ サマー 一等兵(37回)-(2006/10/02(Mon) 21:55:44)

分類:[VC++(C++/CLI)] 

No7063に返信(επιστημηさんの記事)
>>要はデータベースに関連づけられたデータグリッドビューをテーブルの更新直後
>>に再表示されることです。現在はデータテーブルをUpdateしても
>>データグリッドのセルを手動でクリックしないと新しいデータが表示されません。
>
> これは、クリックイベントに反応するハンドラの中で何一つしなくとも、
> クリックすれば更新されるのでしょうか?
>
> それとも「ハンドラの中で明示的に更新している」から、
> あたかもクリックしたかのように見せかけたい のでしょうか?

データグリッドのセルクリックハンドラのなかでデータベースの再読み込み
を明示的に行っているので、セルクリックイベントを発生させれば、
データグリッドビューが再表示されるだろうと考えています。

> あるいはたとえばそのアプリが参照しているデータベースに
> 別のアプリが貼りつき適当にデータをいじると、
> データグリッドに表示された値は勝手に変更されてくれるのでしょうか?
> そうでなければ"更新せよ"すなわち再クエリせなあきませんよね。

現状では、データテーブルのUpdateメソッドで更新してるんですが、
表示はクリックしないと更新してくれません。

> グリッドビューにたいして"データベースを読み直せ"とお願いすること
> はできないのでしょうか?
> その唯一の手段がセルのクリックだとは考えづらいのですが。


データグリッドビューのデータベースの読み直しができるかどうかさがして
みます。

> # 僕はDBに疎いのでシロート考えですけども、キモは外してないと思う
>

回答して頂ありがとうございます。

0
引用返信 編集キー/
■7086 / inTopicNo.14)  Re[7]: OnCellClickの使い方
□投稿者/ ダッチ 一等兵(33回)-(2006/10/02(Mon) 22:07:33)

分類:[VC++(C++/CLI)] 

No7085に返信(サマーさんの記事)
> データグリッドのセルクリックハンドラのなかでデータベースの再読み込み
> を明示的に行っているので、セルクリックイベントを発生させれば、
> データグリッドビューが再表示されるだろうと考えています。

データベースの再読み込み処理を
メソッド化してやります。
そして

> 現状では、データテーブルのUpdateメソッドで更新してるんですが、
> 表示はクリックしないと更新してくれません。

Updateメソッドを呼んだ後に
メソッド化した処理を呼べば更新されないでしょうか。

まずはデータベースの再読み込み処理をメソッドにして見ましょう。

0
引用返信 編集キー/
■7087 / inTopicNo.15)  Re[7]: OnCellClickの使い方
□投稿者/ 魔界の仮面弁士 中尉(158回)-(2006/10/02(Mon) 22:47:39)

分類:[VC++(C++/CLI)] 

今回の問題は、OnCellClick を呼び出せば解決する問題なのでしょうか?

本来、イベントを発行させるという行為は、コンポーネント側が行うべき
作業であり、利用側が自分の都合で発生させるような物では無いはずです。

OnCellClick 自体は、DataGridView を継承すれば呼べるようになるのですが、
クリックイベントを発生される事と、クリック処理をエミュレートする事とは
必ずしも等価ではありませんから、今回の目的に合致するかは疑問です。


> 現状では、データテーブルのUpdateメソッドで更新してるんですが、
その『データテーブル』とは、具体的にはどういったクラスでしょうか?

少なくとも、System.Data.DataTable クラスに Update という名前のメソッドは
存在しないので、ADO.NET とそれとは異なるものなのでしょうけれども…。


> 表示はクリックしないと更新してくれません。
となると、その『データテーブル』とやらから、変更通知が発生していないか、
(もしくは、発生させるのを忘れている)といった状況なのかも知れませんね。

現時点では、DataGridView の DataSource に、何のオブジェクトを
設定していますか? 指定するオブジェクト次第では、BindingSource クラスを
経由させて渡す事で、データの更新を DataGridView に通知させられるかも。
http://msdn2.microsoft.com/ja-JP/library/06wc1a1b.aspx

# ちなみに、No6441 の手順で記述すると、この BindingSource を用いた
# コードが自動生成される仕組みです。


それでも DataGridView に変更が通知されないようであれば、そのデータを
更新している部分に、何か見落としがあるのかも知れません。

たとえば、データを更新するときに、その『データテーブル』のインスタンスを
再生成していませんか? 既存のインスタンスを編集するのではなく、新たに
取得しなおすような処理になっているのであれば、それと DataGridView との
バインディング操作をやり直す必要があるでしょう。

0
引用返信 編集キー/
■7088 / inTopicNo.16)  Re[8]: OnCellClickの使い方
□投稿者/ επιστημη 大尉(174回)-(2006/10/02(Mon) 23:35:18)
επιστημη さんの Web サイト

分類:[VC++(C++/CLI)] 

んー…この質問に限らず、なんかこうキモとなるカラクリの習得をすこーんとすっ飛ばして
小手先だけでどうにかならんかとぢたばたしてるような印象を受けますねぃ。


0
引用返信 編集キー/
■7090 / inTopicNo.17)  Re[9]: OnCellClickの使い方
□投稿者/ trapemiya 曹長(95回)-(2006/10/03(Tue) 10:02:01)
trapemiya さんの Web サイト

分類:[VC++(C++/CLI)] 

DataGridViewにバインドしているDataTableを変更すれば、その変更はDataGridViewに通知されるので、DataGridViewの表示は自動的に変わりますが、そうならないのは、何か特殊なことをされてるんですね???

0
引用返信 編集キー/
■7144 / inTopicNo.18)  Re[10]: OnCellClickの使い方
□投稿者/ サマー 伍長(40回)-(2006/10/03(Tue) 20:24:09)

分類:[VC++(C++/CLI)] 

No7090に返信(trapemiyaさんの記事)
> DataGridViewにバインドしているDataTableを変更すれば、その変更はDataGridViewに通知されるので、DataGridViewの表示は自動的に変わりますが、そうならないのは、何か特殊なことをされてるんですね???

DataGridViewの表示が変わるのはDataGridViewがくくりつけられているフォーム
以外のフォームからDataTableを変更した場合でも同じですか?

現在DataTableの更新は変更用の別のフォームから行うようになっています。

0
引用返信 編集キー/
■7145 / inTopicNo.19)  Re[11]: OnCellClickの使い方
□投稿者/ まじん 二等兵(13回)-(2006/10/03(Tue) 20:43:47)

分類:[VC++(C++/CLI)] 

> DataGridViewの表示が変わるのはDataGridViewがくくりつけられているフォーム
> 以外のフォームからDataTableを変更した場合でも同じですか?
>
> 現在DataTableの更新は変更用の別のフォームから行うようになっています。

そのDataGridViewがあるフォームに データをバインドし直すメソッドを作っておき 変更するフォームから変更したときに そのメソッドを呼び出しやれば勝手に
更新されると思いますが だめでしょうか

0
引用返信 編集キー/
■7157 / inTopicNo.20)  Re[11]: OnCellClickの使い方
 
□投稿者/ trapemiya 曹長(96回)-(2006/10/03(Tue) 23:07:13)
trapemiya さんの Web サイト

分類:[VC++(C++/CLI)] 

No7144に返信(サマーさんの記事)
> DataGridViewの表示が変わるのはDataGridViewがくくりつけられているフォーム
> 以外のフォームからDataTableを変更した場合でも同じですか?

同じです。

0
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -