private void CellDoubleClicked(DataGridView dgv, DataGridViewCellEventArgs e) { TimetableSectionModelDataAdapter adapter = null; if (dgv == dgvDown) { Log.Trace("Down train double-clicked: grid coords {0}, {1}", e.ColumnIndex, e.RowIndex); adapter = _downTrainsAdapter; } else if (dgv == dgvUp) { Log.Trace("Up train double-clicked: grid coords {0}, {1}", e.ColumnIndex, e.RowIndex); adapter = _upTrainsAdapter; } if (adapter == null) { Log.Warn("Adapter not set!"); return; } if (!adapter.IsColumnTrainColumn(e.ColumnIndex)) { Log.Trace(CultureInfo.CurrentCulture, Resources.LogMessage_ColumnIsNotATrainColumn, e.ColumnIndex); return; } string trainId = adapter.GetTrainIdForViewColumn(e.ColumnIndex); Log.Trace(CultureInfo.CurrentCulture, Resources.LogMessage_SelectedTrainId, trainId); if (string.IsNullOrWhiteSpace(trainId)) { return; } EditTrain(trainId); }
private string GetSelectedTrainId() { DataGridView selDgv = null; TimetableSectionModelDataAdapter adapter = null; if (tcMain.SelectedTab == tabGraph) { return(trainGraph.Model.SelectedTrain?.Id); } if (tcMain.SelectedTab == tabDown) { selDgv = dgvDown; adapter = _downTrainsAdapter; } else if (tcMain.SelectedTab == tabUp) { selDgv = dgvUp; adapter = _upTrainsAdapter; } if (selDgv == null || adapter == null) { return(null); } if (selDgv.SelectedCells.Count == 0) { return(null); } return(adapter.GetTrainIdForViewColumn(selDgv.SelectedCells[0].ColumnIndex)); }