Winform開發--資料從一個DataGridView轉移到另一個DataGridView

00潤物無聲00發表於2016-04-03

    做Winform開發,對需求的實習是從一個DatagridView中選擇資料,並複製到另一個DatagridView 中,之前BS開發做過類似效果,使用DataGridView肯定沒問題。

    將DataGridView1中的資料複製到DataGridView2中;設定DataGridView1的第一列為核取方塊,DataGridView1的兩個事件,協作實現我們想要的效果,dataGridView1_CurrentCellDirtyStateChanged,dataGridView1_CellValueChanged。

程式碼:

<span style="font-family:SimSun;font-size:18px;"> private void dataGridView1_CurrentCellDirtyStateChanged(object sender, EventArgs e)
        {
            if (dataGridView1.IsCurrentCellDirty)
            {
                dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit);   //提交

            }
        }

        private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {</span>
<span style="font-family:SimSun;font-size:18px;">            if (e.RowIndex >= 0 && e.RowIndex != -1 && !dataGridView1.Rows[e.RowIndex].IsNewRow)      //行和列,並且行中存在資料;
            {
                if (e.ColumnIndex == 0)
                {

                    if ((bool)this.dataGridView1[e.ColumnIndex, e.RowIndex].Value == true)
                    {
                        dataGridView2.Rows.Add();            //現在要複製到的DataGridView中新增一個行,然後下面迴圈列,進行賦值;
                        for (int j = 0; j < dataGridView1.Rows[e.RowIndex].Cells.Count; j++)
                        {

                            dataGridView2.Rows[dataGridView2.Rows.Count - 1].Cells[j].Value = dataGridView1.Rows[e.RowIndex].Cells[j].Value;
                           
                        }

                    }
                }
            }
        }</span>


總結

    不斷地出現新的需求,不斷地嘗試新的實現方式,實踐越多,越成熟,但是開發週期有限,一切還是應該以交付產品為重要緊急的事情。




相關文章