91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

判斷DatagridView行修改保存

發布時間:2020-06-29 02:29:32 來源:網絡 閱讀:1545 作者:夜雨流香 欄目:編程語言

這些天一直在想怎么樣才能去判斷datagridview里的一行是不是已經被修改,如果是,就保存.最后還是發現用datagridview的rowenter事件來解決了.

方法如下:

1,先定義一個全局變量selectedRow=99999(這個值取一個行number絕對不會出現的即可)和一個對象變量(這里是computer)如下:

private int selectedRow=99999;

private Computer oldComputer;


2.創建RowEnter事件如下:

private void dgv_RowEnter(object sender, DataGridViewCellEventArgs e)
        {
            if (dgv.CurrentCell != null && selectedRow == 9999)
            {
                int id = cc.Items[dgv.CurrentCell.RowIndex].ID;
                string sn = cc.Items[dgv.CurrentCell.RowIndex].SN;
                string model = cc.Items[dgv.CurrentCell.RowIndex].ModelID;
                DateTime pdate = cc.Items[dgv.CurrentCell.RowIndex].PurchaseDate;
                DateTime wdate = cc.Items[dgv.CurrentCell.RowIndex].WarrantyDate;
                string mac = cc.Items[dgv.CurrentCell.RowIndex].MAC;
                string vendor = cc.Items[dgv.CurrentCell.RowIndex].Vendor;
                string site = cc.Items[dgv.CurrentCell.RowIndex].SiteCode;
                string remarks = cc.Items[dgv.CurrentCell.RowIndex].Remarks;
                oldComputer = new Computer(id, sn, model, pdate, wdate, mac, vendor, site, remarks);
                selectedRow = dgv.CurrentCell.RowIndex;
            }
            else if(dgv.CurrentCell!=null)
            {
                int id = cc.Items[selectedRow].ID;
                string sn = cc.Items[selectedRow].SN;
                string model = cc.Items[selectedRow].ModelID;
                DateTime pdate = cc.Items[selectedRow].PurchaseDate;
                DateTime wdate = cc.Items[selectedRow].WarrantyDate;
                string mac = cc.Items[selectedRow].MAC;
                string vendor = cc.Items[selectedRow].Vendor;
                string site = cc.Items[selectedRow].SiteCode;
                string remarks = cc.Items[selectedRow].Remarks;
                Computer newComputer = new Computer(id, sn, model, pdate, wdate, mac, vendor, site, remarks);
                if (Computer.IsModified(oldComputer, newComputer))
                {
                    try
                    {
                        if (MessageBox.Show("Leave this row will save all changes you've made, are you save to update this record?", "Update Record",
                            MessageBoxButtons.OKCancel, MessageBoxIcon.Question) != DialogResult.Cancel)
                        {
                            newComputer.Update();
                        }
                        else
                        {
                            dgv.Rows[selectedRow].Cells[0].Value = oldComputer.ID;
                            dgv.Rows[selectedRow].Cells[1].Value = oldComputer.SN;
                            dgv.Rows[selectedRow].Cells[2].Value = oldComputer.ModelID;
                            dgv.Rows[selectedRow].Cells[3].Value = oldComputer.PurchaseDate;
                            dgv.Rows[selectedRow].Cells[4].Value = oldComputer.WarrantyDate;
                            dgv.Rows[selectedRow].Cells[5].Value = oldComputer.MAC;
                            dgv.Rows[selectedRow].Cells[6].Value = oldComputer.Vendor;
                            dgv.Rows[selectedRow].Cells[7].Value = oldComputer.SiteCode;
                            dgv.Rows[selectedRow].Cells[8].Value = oldComputer.Remarks;
                        }
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                }
            }
            if (selectedRow!=9999 && e.RowIndex != selectedRow)
            {
                int id1 = cc.Items[e.RowIndex].ID;
                string sn1 = cc.Items[e.RowIndex].SN;
                string model1 = cc.Items[e.RowIndex].ModelID;
                DateTime pdate1 = cc.Items[e.RowIndex].PurchaseDate;
                DateTime wdate1 = cc.Items[e.RowIndex].WarrantyDate;
                string mac1 = cc.Items[e.RowIndex].MAC;
                string vendor1 = cc.Items[e.RowIndex].Vendor;
                string site1 = cc.Items[e.RowIndex].SiteCode;
                string remarks1 = cc.Items[e.RowIndex].Remarks;
                oldComputer = new Computer(id1, sn1, model1, pdate1, wdate1, mac1, vendor1, site1, remarks1);
                selectedRow = e.RowIndex;
            }


通過觸發兩次RowEnter事件來比較看是否有修改.第一次得到當前行的數據以及行號,第二次再次檢查該行號數據,兩次做對比來決定是否需要更新.


最后把第二次的行號所有數據賦值給oldComputer以為下次比較做準備.

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

台南市| 监利县| 定州市| 淄博市| 许昌县| 锡林浩特市| 历史| 榆树市| 临潭县| 永泰县| 巍山| 深圳市| 西安市| 文水县| 罗定市| 布尔津县| 修水县| 商丘市| 县级市| 东宁县| 安庆市| 郑州市| 奉新县| 鄄城县| 彭泽县| 福安市| 永定县| 长子县| 秦安县| 囊谦县| 富宁县| 简阳市| 漳浦县| 高雄市| 兴业县| 珲春市| 洞头县| 海南省| 北宁市| 南江县| 彩票|