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); } }
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); } }
public static void AddRow(IDataGridViewsOpt iDgvOpt, DataGridView dgv) { iDgvOpt.AddRow(dgv); }