private void butSelExecBases_Click(object sender, EventArgs e) { if (ExecIsBusy) { labelProgress.Text = "Подождите окончания выполнения запроса."; return; } var bases = new List <string>(); labelProgress.Text = ""; foreach (DataGridViewCell cell in dataGridView.SelectedCells) { CompareObject cellCO = cell.Tag as CompareObject; if (cellCO == null) { continue; } bases.AddRange(cellCO.Bases.Keys.Where(b => !bases.Any(bs => bs == b))); } if (bases.Count == 0) { return; } var basesString = bases.OrderBy(i => i).Aggregate("", (s, i) => (s == "" ? "" : s + ", ") + i); labelProgress.Text = "На вкладке Применить установлена цель: " + basesString; //labelExecStat.Text = "Отмечены базы: " + basesString; gridBasesExec.FillBases(bases); }
private void ActionDoubleClick(bool openFile, bool openFolder = false, bool copyBuffer = false, bool isAlter = false) { var cell = dataGridView.CurrentCell; if (cell == null) { return; } string SQLName = cell.OwningRow.Tag as string; if (SQLName == null) { return; } CompareObject cellCO = cell.Tag as CompareObject; if (cellCO == null) { var obj = Comp.CompareResult[SQLName][0].FirstObject; var fn = FindSVNFileBySQLObject(obj); if (string.IsNullOrWhiteSpace(fn)) { return; } if (copyBuffer) { Clipboard.SetDataObject(File.ReadAllText(fn)); } else if (openFolder) { Process.Start(new ProcessStartInfo("explorer.exe", " /select, \"" + fn + "\"")); } else if (openFile) { Process.Start(fn); } else { if (ExecIsBusy) { labelProgress.Text = "Подождите окончания выполнения запроса."; } else { SetTbExecText(File.ReadAllText(fn), obj, isAlter); labelProgress.Text = "Текст во вкладке Применить: " + obj.SQLName + " (с репозитория)"; } } /* * //выделение для строки * dataGridView.ClearSelection(); * foreach (DataGridViewCell c in cell.OwningRow.Cells) c.Selected = true; */ } else { //для ячейки var obj = cellCO.Bases.Values.First(); if (copyBuffer) { Clipboard.SetDataObject(obj.Source); } else if (openFolder) { var fn = Comp.SaveSQLObject(obj, cellCO.BasesString); Process.Start(new ProcessStartInfo("explorer.exe", " /select, \"" + fn + "\"")); } else if (openFile) { var fn = Comp.SaveSQLObject(obj, cellCO.BasesString); Process.Start(fn); } else { if (ExecIsBusy) { labelProgress.Text = "Подождите окончания выполнения запроса."; } else { SetTbExecText(obj.Source, obj, isAlter); labelProgress.Text = "Текст во вкладке Применить: " + obj.SQLName + " (вариант с" + cellCO.BasesString + ")"; } } } }