Shuxia Ning
2024-08-28 1a8a81785470302fc7fbd6914a9df5d1094dac2a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
using DevExpress.XtraGrid;
using DevExpress.XtraGrid.Views.Grid;
 
namespace IStation.Win
{
    /// <summary>
    /// GridView的拓展类
    /// </summary>
    public static class GridContorlExtend
    {
        #region 默认
        /// <summary>
        /// 普通视图设置
        /// </summary>
        /// <param name="grid"></param> 
        public static void ContextMenuStrip(this GridControl grid)
        {
            if (grid.Views.Count < 1)
                return;
            var view = grid.Views[0] as GridView;
 
 
            var contextMenuStrip = new ContextMenuStrip();
            var copyItem = new ToolStripMenuItem();
            copyItem.Text = "复制单元格";
            copyItem.Click += new EventHandler((sender, e) =>
            {
                var text = view.GetFocusedDisplayText();
                Clipboard.SetData(DataFormats.Text, text);
            });
            contextMenuStrip.Items.Add(copyItem);
 
            var exportExcelItem = new ToolStripMenuItem();
            exportExcelItem.Text = "导出Excel";
            exportExcelItem.Click += new EventHandler((sender, e) =>
            {
                var dlg = new SaveFileDialog();
                dlg.Filter = "excel|.xlsx";
                if (dlg.ShowDialog() != DialogResult.OK)
                    return;
                var options = new DevExpress.XtraPrinting.XlsxExportOptionsEx();
                options.ExportType = DevExpress.Export.ExportType.DataAware;//所见即所得
                options.TextExportMode = DevExpress.XtraPrinting.TextExportMode.Text;
                view.ExportToXlsx(dlg.FileName, options);
            });
            contextMenuStrip.Items.Add(exportExcelItem);
 
            grid.ContextMenuStrip = contextMenuStrip;
        }
 
 
        #endregion
 
    }
}