DataGridView中間插入數據行


namespace WindowsFormsApp1
{
    public partial class Form2 : Form
    {
        private readonly BindingSource _bindingSource = 
            new BindingSource();

        public Form2()
        {
            InitializeComponent();
        }

        private void Form2_Load(object sender, EventArgs e)
        {
            DataTable dt = new DataTable();
            dt.Columns.Add(new DataColumn()
                { ColumnName = "id", DataType = typeof(int)});
            dt.Columns.Add(new DataColumn()
                { ColumnName = "FirstName", DataType = typeof(string) });
            dt.Columns.Add(new DataColumn()
                { ColumnName = "LastName", DataType = typeof(string) });

            dt.Rows.Add(1, "Mary", "Jones");
            dt.Rows.Add(2, "Ane", "Smith");
            dt.Rows.Add(3, "Jim", "Adams");
            dt.Rows.Add(4, "Hank", "Lebow");

            _bindingSource.DataSource = dt;
            dataGridView1.DataSource = _bindingSource;

        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (_bindingSource.Current == null) return;

            var dt = (DataTable) _bindingSource.DataSource;

            var nextId = dt.AsEnumerable()
                             .Select(dataRow => dataRow.Field<int>("Id"))
                             .Max() +1;

            var row = dt.NewRow();
            row["id"] = nextId;
            row["FirstName"] = "Karen";
            row["LastName"] = "Payne";

            dt.Rows.InsertAt(row, _bindingSource.Position);
        }
    }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM