private void conReferenceOptions_Opening(object sender, CancelEventArgs e) { try { var grid = (DataGridView)((ContextMenuStrip)sender).SourceControl; var sel = new DataGridViewSelection(grid); AddRefMenuItems(conReferenceOptions, sel.Rows.Select(r => (ItemReference)r.DataBoundItem)); } catch (Exception ex) { Utils.HandleError(ex); } }
private void conTable_Opening(object sender, System.ComponentModel.CancelEventArgs e) { try { if (_proxy == null) return; var grid = (DataGridView)((ContextMenuStrip)sender).SourceControl; var sel = new DataGridViewSelection(grid); var dataRows = sel.Rows.Where(r => r.DataBoundItem is DataRowView) .Select(r => ((DataRowView)r.DataBoundItem).Row) .OfType<DataRow>() .Concat(sel.Rows.Where(r => r.IsNewRow) .Select(r => ((DataTable)r.DataGridView.DataSource).NewRow())) .ToArray(); var scripts = _proxy.GetHelper().GetScripts(dataRows, sel.ColumnPropertyName); conTable.Items.Clear(); EditorScript.BuildMenu(conTable.Items, scripts, Execute); if (scripts.Any()) conTable.Items.Add(new ToolStripSeparator()); conTable.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.mniColumns, this.mniSaveTableEdits, this.mniScriptEdits, this.mniResetChanges}); } catch (Exception ex) { Utils.HandleError(ex); } }