找回密码
 立即注册

QQ登录

只需一步,快速开始

Quanweiz
初级会员   /  发表于:2022-11-14 13:20  /   查看:2526  /  回复:3
1金币
本帖最后由 Quanweiz 于 2022-11-14 13:36 编辑

1.FlexGrid如何设置右键菜单?是否有相关事例?


2.通过下面方法导入的EXCEL文件数据如果增加行号?


                                OpenFileDialog dlg = new OpenFileDialog();
                                dlg.DefaultExt = "xls";
                                dlg.FileName = "*.xls";
                                if (dlg.ShowDialog() != DialogResult.OK)
                                        return false;
                                _flex.DataSource = null;
                                string[] sheets = _flex.LoadExcelSheetNames(dlg.FileName);
                                FileFlags flags = FileFlags.LoadMergedRanges | FileFlags.IncludeFixedCells;
                                _flex.LoadExcel(dlg.FileName, str, flags);

加载后设置下面参数设置都无效,附件为导入EXCEL文件。
_flex.Cols.Fixed = 2;
_flex.Rows.DefaultSize = 50;//设置所有行的默认大小


也没有行号出现?

附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

1。右键菜单和其他的winforms控件一样的,设置ContextMenu属性就行,我估计你想要问的主要是获取右键点击弹出ContextMenu时,所在的单元格行列信息 这个可以通过mouseclick事件来判断,通过hitTes方法获取 2.可以通过OwnerDrawCell事件设置,

3 个回复

倒序浏览
最佳答案
最佳答案
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-11-14 13:20:03
来自 2#
1。右键菜单和其他的winforms控件一样的,设置ContextMenu属性就行,我估计你想要问的主要是获取右键点击弹出ContextMenu时,所在的单元格行列信息
这个可以通过mouseclick事件来判断,通过hitTes方法获取





2.可以通过OwnerDrawCell事件设置,
  1.             c1FlexGrid3.DrawMode = DrawModeEnum.OwnerDraw;
  2.             c1FlexGrid3.OwnerDrawCell += C1FlexGrid3_OwnerDrawCell;
复制代码

  1.         private void c1FlexGrid2_OwnerDrawCell(object sender, OwnerDrawCellEventArgs e)
  2.         {
  3.             if (e.Col == 0)
  4.             {
  5.                 e.Text = e.Row.ToString();
  6.             }
  7.             //if (e.Col == c1FlexGrid2.Cols["EmployeeID"].Index && e.Row == c1FlexGrid2.Rows.Count - 1)
  8.             //{
  9.             //    double d = Convert.ToDouble(e.Text);
  10.             //    e.Text = String.Format("{0:#,##0.00}", d);
  11.             //}
  12.         }
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
一路向东
注册会员   /  发表于:2022-12-13 12:46:40
3#
都用了C1FlexGrid,右键菜单必须得用C1ContextMenu啊。

Private Sub C1FlexGrid_MouseUp(sender As Object, e As MouseEventArgs) Handles C1FlexGrid.MouseUp
        If e.Button = MouseButtons.Right Then
                C1ContextMenu.ShowContextMenu(C1FlexGrid, e.Location)
        End If
End Sub
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-12-13 16:10:16
4#
本帖最后由 Richard.Ma 于 2022-12-13 16:11 编辑

   C1ContextMenu比普通的ContextMenu当然更好用一些

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部