| 
                 分類:[C#] 
 
  分類:[C#] 
  お世話になります。
  ある画面でDataGridViewを使用しています。 列は2列あり1列目はコードで2列目は名称という列名です。
  初期表示時はテーブルからデータを取得してDataTableにセットして、 それをBindingSourceオブジェクトのDataSourceプロパティにセットしています。さらにDataGridViewのDataSourceプロパティにそのBindingSourceオブジェクトを セットして行なっています。
  これはまあ一連の初期表示処理ですが、問題はここからです。 実はその画面にはコードと名称を入力する2つのテキストボックスと1つの「更新」ボタンがあります。 更新ボタンを押すとDataGridViewで選択されている行のコードと名称を テキストボックスで入力されたコードと名称で更新するという処理です。
  現在ソースは以下のようになっています。
  // 現在選択されている行を取得する // dgvはDataGridViewオブジェクトです。 BindingManagerBase bm = dgv.BindingContext[dgv.DataSource,dgv.DataMember]; // dtはDataTableオブジェクト // txtCord.Textはコードを入力するテキストボックス // txtName.Textは名称を入力するテキストボックス dt.Rows[bm.Position].ItemArray[0] = txtCord.Text; dt.Rows[bm.Position].ItemArray[1] = txtName.Text; // bsはBindingSourceオブジェクト bs.DataSource = dt; dgv.DataSource = bs;
  そこでデバッグで dt.Rows[bm.Position].ItemArray[0] = txtCord.Text; dt.Rows[bm.Position].ItemArray[1] = txtName.Text; を通過した直後、値を確認しても内容が変わりません。
  いろいろ調べてみましたがお手上げ状態ですので、どなたかおわかりになる方 教えて下さい。 お手数ですがよろしくお願い致します。
 
  |