
テキストボックスとDataTableを結びつけて、
テキストボックスの修正を反映したいです。
DataGridViewでできたことを、
テキストボックスでやりたいです。
【DataGridViewの場合】
SqlConnection cn = new SqlConnection(connStr); da = new SqlDataAdapter(selectStr, cn); dt = new DataTable(); da.Fill(dt); dataGridView1.DataSource = dt; ↓ データグリッド修正 ↓ CommandBuilder cb = new CommandBuilder(da); da.Update(dt);←データの変更ができる
【テキストボックスでやったこと】
textBox1.DataBindings.Add(new Binding("Text", dt, "hoge"); ↓ テキストボックス修正 ↓ CommandBuilder cb = new CommandBuilder(da); da.Update(dt);←データの変更ができない
textBox1.DataBindings.Add(new Binding("Text", dt, "hoge"));
この部分は、ネットで探してコピペしたのでよくわかっていません。
とりあえずやってみると、複数行あるDataTableの1行目が表示されているようです。
【追記】
この質問をするにあたって、ほかにやったことを追記します。
Form1_Load ↓ textBox1.Text = dt.Rows[0]["hoge"].ToString(); ↓ ボタンクリック ↓ if(textBox1.Text != dt.Rows[0]["hoge"].ToString()) { dt.Rows[0]["hoge"] = textBox1.Text; } da.Update(dt);
これでできたようですが、
dataGridViewの場合
dataGridView1.DataSource = dt;
だけでいいので、テキストボックスも同じようなことはできないかと思いました。
検索した結果
textBox1.DataBindings.Add(new Binding("Text", dt, "hoge");
を見つけました。
これがdataGridViewの場合と同じと思ったのですが、できなかったので質問しました。

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/19 01:37
退会済みユーザー
2020/01/19 02:48 編集