Esempio n. 1
0
        public static void DelRow(IDataGridViewsOpt iDgvOpt, DataGridView dgv)
        {
            try
            {
                DataGridViewRow choosedRow = dgv.SelectedRows[0];
                int             rowIndex   = dgv.Rows.IndexOf(choosedRow);

                //查看有无对应对端row,有则删除;
                if (iDgvOpt.DgvRowsMap.Keys.Contains(choosedRow))
                {
                    DataGridViewRow oppositeRow      = iDgvOpt.DgvRowsMap[choosedRow];
                    var             oppositeDgv      = oppositeRow.DataGridView;
                    int             oppositeRowIndex = oppositeDgv.Rows.IndexOf(oppositeRow);
                    iDgvOpt.DeleteRow(oppositeDgv, oppositeRowIndex);
                }
                //删除本端的row
                iDgvOpt.DeleteRow(dgv, rowIndex);
            }
            catch (Exception ep)
            {
                MessageBox.Show(ep.Message);
            }
        }
Esempio n. 2
0
        public static void Synchronize(IDataGridViewsOpt iDgvOpt, DataGridViewRow row)
        {
            if (!iDgvOpt.JudgeCellsValue(row))
            {
                MessageBox.Show("填入内容不全!");
                return;
            }

            //同步其他槽位的一个相应的连接
            if (iDgvOpt.DgvRowsMap.Keys.Contains(row))
            {
                var          mapedRow = iDgvOpt.DgvRowsMap[row];
                DataGridView mapedDgv = mapedRow.DataGridView;
                //判断连接的槽位是否更改了
                if (iDgvOpt.IsMapedRowChange(row, mapedRow))
                {
                    //!删除oppositeRow,在对应槽位创建一行新的row
                    int rowId = mapedDgv.Rows.IndexOf(mapedRow);
                    iDgvOpt.DeleteRow(mapedDgv, rowId);

                    //!添加一行
                    DataGridView oppositeDgv = iDgvOpt.GetOppositeDgv(row);
                    iDgvOpt.AddRow_Fresh(oppositeDgv, row);
                }
                else
                {
                    //更新oppositeRow的值
                    iDgvOpt.FreshRow(row, mapedRow);
                }
            }
            else
            {
                //在对应槽位创建一行新的row
                DataGridView oppositeDgv = iDgvOpt.GetOppositeDgv(row);
                iDgvOpt.AddRow_Fresh(oppositeDgv, row);
            }
        }
Esempio n. 3
0
 public static void AddRow(IDataGridViewsOpt iDgvOpt, DataGridView dgv)
 {
     iDgvOpt.AddRow(dgv);
 }