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

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

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

Re[2]: DataGridViewの新規テキスト入力時の処理


(過去ログ 88 を表示中)

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

■52217 / inTopicNo.1)  DataGridViewの新規テキスト入力時の処理
  
□投稿者/ 田中さん (7回)-(2010/08/03(Tue) 19:56:58)

分類:[C#] 

こんにちわ。
C# VisualC#2008にて開発してます。

データグリッドビューにて、入力確定時に、関連テーブルからデータを取得してデータを登録したいと思ってます。
具体的にはコード列があり、3桁のコードを入力します。
数字3桁を入力した時点で、関連テーブルを検索し、有効コードであればデータを追加したいのです。


入力セルのテキストボックスを取得する必要があると思うのですが方法が分かりません。
そのテキストボックスに数字3桁入力された時にデータベースを検索したいという処理をしたいのですが
何かアドバイスを頂けないでしょうか。
引用返信 編集キー/
■52221 / inTopicNo.2)  Re[1]: DataGridViewの新規テキスト入力時の処理
□投稿者/ やじゅ (1688回)-(2010/08/03(Tue) 20:31:55)
やじゅ さんの Web サイト
No52217 (田中さん さん) に返信
> 入力セルのテキストボックスを取得する必要があると思うのですが方法が分かりません。
> そのテキストボックスに数字3桁入力された時にデータベースを検索したいという処理をしたいのですが
> 何かアドバイスを頂けないでしょうか。

DataGirdViewで編集中の内容を取得したい
http://ap.atmarkit.co.jp/bbs/core/fdotnet/20490

「DataGridViewTextBoxEditingControl EditingControlShowing」あたりで検索してみるとか

引用返信 編集キー/
■52288 / inTopicNo.3)  Re[2]: DataGridViewの新規テキスト入力時の処理
□投稿者/ 田中さん (8回)-(2010/08/05(Thu) 09:40:29)
■やじゅさんこんにちわ。

参考アドレスの所を見て、
テキストボックスに何か変化があった場合のイベントハンドラを追加し、
テキストボックスに3桁の数字が入った場合の処理を追加できました。
こんな感じにしました。

        private void pagedg_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
        {
            //表示されているコントロールがDataGridViewTextBoxEditingControlか調べる
            if (e.Control is DataGridViewTextBoxEditingControl)
            {
                DataGridView dgv = (DataGridView)sender;
                //編集のために表示されているコントロールを取得
                DataGridViewTextBoxEditingControl tb = (DataGridViewTextBoxEditingControl)e.Control;
                tb.MaxLength = 3;

                //イベントを追加
                tb.TextChanged += new EventHandler(tb_TextChanged);
                tb.KeyPress += new System.Windows.Forms.KeyPressEventHandler(tb_KeyPress);
            }
        }


データベースの登録時に、ちょっと気になる動作をするのですが、それは別の話題になるかと思いますので
改めて質問をたてさせてもらいます。
ありがとうございました。

解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -