|
■No89326 (VB.net Biginner さん) に返信
> List(Of T)でやろうとしていたのですが、私の理解が及ばず結局
> idx = DataGridView1.Rows.Count - 1 → idx = DataGridView1.Rows.Count - 2
> に変更することで思っていた処理になりました。
そういう方法は、すみませんが、自分としては考える気がおきません。
C# でですがサンプルを書いておきますので、これを見てどうするか考えていただくよう
お願いします。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form5 : Form
{
private DataGridView dataGridView1;
private BindingSource bindingSource1;
public Form5()
{
InitializeComponent();
this.dataGridView1 = new DataGridView();
this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill;
this.bindingSource1 = new BindingSource();
this.dataGridView1.DataSource = this.bindingSource1;
this.Controls.Add(this.dataGridView1);
List<Item> list = new List<Item>
{
new Item { A = "a1", B = "b1", C = "c1" },
new Item { A = "a2", B = "b2", C = "c2" },
new Item { A = "a3", B = "b3", C = "c3" }
};
this.bindingSource1.DataSource = list;
}
private void button1_Click(object sender, EventArgs e)
{
Item item = new Item { A = "a0", B = "b0", C = "c0" };
this.bindingSource1.Insert(0, item);
}
}
public class Item
{
public string A { get; set; }
public string B { get; set; }
public string C { get; set; }
}
}
|