|
■No5011 (tnkver2 さん) に返信
> 現在グリッドに表示されている名前だけが変わってしまいます。
> dataGrid1.DataSource = ds.Tables["明細"];
ボタンを押すたびに、新たな(1行だけの)DataTable を作り直して、毎回セットしなおしているからでしょう。
すでにグリッドに表示している DataTable を編集するようにしてみてください。
public /* partial */ class Form1 : Form
{
#region Windows フォーム デザイナで生成されたコード
/* 中略 */
#endregion
private DataGrid dataGrid1 = new DataGrid();
DataSet ds = new DataSet("明細");
DataTable dt;
public Form1()
{
InitializeComponent();
dt = ds.Tables.Add("明細");
dt.Columns.Add("商品名", Type.GetType("System.String"));
textBox1.Text = "テスト";
dataGrid1.Size = new Size(150, 200);
Controls.Add(dataGrid1);
dataGrid1.DataSource = ds.Tables["明細"];
}
private void button1_Click(object sender, EventArgs e)
{
DataRow dr = dt.NewRow();
dr["商品名"] = textBox1.Text;
dt.Rows.Add(dr);
}
}
|