private void grid1_SelectedCellsChanged(object sender, FastWpfGrid.SelectionChangedEventArgs e) { var view = (FastWpfGrid.IFastGridView)grid1; if (view.GetSelectedModelCells().Count > 1) { view.ShowSelectionMenu(new string[] { "CMD1", "CMD2" }); } else { view.ShowSelectionMenu(null); } }
private void grid1_SelectedCellsChanged(object sender, FastWpfGrid.SelectionChangedEventArgs e) { var view = (FastWpfGrid.IFastGridView)grid1; if (view.GetSelectedModelCells().Count > 1) { var d = (FastWpfGrid.FastGridControl)sender; var c = d.GetSelectedModelCells(); var rmin = c.Min(x => x.Row); var rmax = c.Max(x => x.Row); var ir = rmax - rmin + 1; var cmin = c.Min(x => x.Column); var cmax = c.Max(x => x.Column); var ic = cmax - cmin + 1; var data = new string[ir.Value, ic.Value]; var sb = new StringBuilder(); var m = d.Model; var pr = c.First().Row; foreach (var cc in c) { var da = m.GetCell(view, cc.Row.Value, cc.Column.Value); data[cc.Row.Value - rmin.Value, cc.Column.Value - cmin.Value] = da.GetEditText(); } for (var i = 0; i < ir.Value; i++) { for (var j = 0; j < ic.Value; j++) { sb.Append(data[i, j] + ";"); } sb.AppendLine(); } Clipboard.SetText(sb.ToString()); view.ShowSelectionMenu(new string[] { "CMD1", "CMD2" }); } else { view.ShowSelectionMenu(null); } }