DataGridView綁定DataTable的正確姿勢


1. 將DataTable 綁定到BindingSource

2. 將BindingSource綁定到DataGridView

3. DataGridView修改完要從Datatable取值時,同步過去時,BindingSource和DataGridView兩個都要執行EndEdit()

例程:

 public partial class Form1 : Form
    {
        DataTable mTable = new DataTable();
        BindingSource mbs = new BindingSource();
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            mTable.Columns.Add("Name",typeof(string));
            mTable.Columns.Add("Age", typeof(float));
            mTable.Columns.Add("Dept", typeof(string));
            mTable.Columns.Add("IsDeleted", typeof(bool));
            mTable.Rows.Add("Jack", 21, "C1", false);
            mTable.Rows.Add("Rose", 21, "C2", false);
            mTable.Rows.Add("Tom", 21, "C1", false);
            mTable.Rows.Add("Micky", 21, "C1", false);
            mTable.Rows.Add("Steven Chou", 21, "C1", false);
            mbs.DataSource = mTable;
            grd.DataSource = mbs;
        }

        private void BtnDel_Click(object sender, EventArgs e)
        {
            mTable.Rows.Remove(mTable.Rows[grd.CurrentRow.Index]);
        }

        private void BtnSave_Click(object sender, EventArgs e)
        {
            grd.EndEdit();
            mbs.EndEdit();

            int N = mTable.Rows.Count;
            
        }
    }

 


免責聲明!

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



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