- PR -

C#でのWindowフォームでのdatagridの更新後の値取得について

1
投稿者投稿内容
take
会議室デビュー日: 2005/01/14
投稿数: 7
投稿日時: 2005-01-24 09:47
datagridでデータを入力した場合に
更新後の値を取得したいのですが
更新前の値を取得しか取得できません

どのようにすれば更新後の値を取得できるでしょうか
よろしくお願いします
Os_
ベテラン
会議室デビュー日: 2003/04/16
投稿数: 77
投稿日時: 2005-01-24 14:09
情報が少なくて判断が難しいのですが、

DataGridのDataSourceはどの様に記述していますか?
更新前の値が取得できる取得方法はどの様な記述ですか?
take
会議室デビュー日: 2005/01/14
投稿数: 7
投稿日時: 2005-01-24 14:52
プログラムは
______________________________________________________________________________
string connStr = "file_name";
OleDbConnection Conn = new OleDbConnection(connStr);
Conn.Open();

string sqlStr = "SELECT 〜";
OleDbDataAdapter OleDbDataAdapter1 = new OleDbDataAdapter(sqlStr, Conn);
DataSet DataSet1 = new DataSet();
OleDbDataAdapter1.Fill(DataSet1);

dgt_find_person.DataSource = DataSet1.Tables[0];
______________________________________________________________________________

取得は
object get_object = DataSet1.Tables[0].[DataGrid1.CurrentCell.RowNumber]["フィールド名"].ToString() ;
で取得します
//
Os_
ベテラン
会議室デビュー日: 2003/04/16
投稿数: 77
投稿日時: 2005-01-24 15:24
提示いただいた情報の範囲での想像ですが(外していたらすみません)

DataGridで値を修正して、カレントレコードを移動しないまま、
外部で該当フィールドの値を取得しようと試みていますか?
もし、このような状態であれば、
EndEditメソッドを使用して、該当レコードの編集を確定しないと、
更新した値は取得できません。
take
会議室デビュー日: 2005/01/14
投稿数: 7
投稿日時: 2005-01-24 15:40
おっしゃるとおりだと思います
そこでEndEditの使用方法を教えていただけないでしょうか?
サンプルをみたのですがよくわからず、うまく適用できません
Os_
ベテラン
会議室デビュー日: 2003/04/16
投稿数: 77
投稿日時: 2005-01-24 16:47
EndEditの使用方法は、
DataTable 内のデータの操作
の「テーブル内のデータの編集」を参考にして下さい。

尚、DataGridの編集中でのカレントセルの値の取得には、イベントを利用する方法もありあます。
「DataTable イベントの使用」を参考にして下さい。
1

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