找回密码
 立即注册

QQ登录

只需一步,快速开始

tfy168

注册会员

20

主题

50

帖子

162

积分

注册会员

积分
162

活字格认证

tfy168
注册会员   /  发表于:2020-7-29 12:30  /   查看:2470  /  回复:4
本帖最后由 tfy168 于 2020-7-29 12:32 编辑

请问在
C1FlexGrid 的筛选中,是否可以自定义按钮的名称,也可以对按钮进行隐藏或显示?


如上图中,我想将“应用”改为“确定”,隐藏”清除“按钮,并将前面的图标也去掉?

按文本筛选,这个是否可以隐藏? 全部选中后,那个筛选的值是否可以默认为不加粗?



请问这些可以实现吗? 谢谢!

本帖子中包含更多资源

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

x

4 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-7-29 14:56:27
沙发
你好,自定义过滤器中的样式,可以参考下面的链接,其中也包含了示例demo
https://www.grapecity.com/blogs/ ... pdown-in-c1flexgrid



下面附上按照你的需求改的代码,可以实现上图的效果,字体粗细无法改变
  1.         Form filterForm; int col;
  2.         private void CustomFilterMenu()
  3.         {
  4.             foreach (Form frm in Application.OpenForms)
  5.             {
  6.                 if (frm.Name == "FilterEditorForm" & frm.GetType().ToString() == "C1.Win.C1FlexGrid.FilterEditorForm")
  7.                 {
  8.                     filterForm = frm;


  9.                     foreach (object item in filterForm.Controls)
  10.                     {
  11.                         if (item is ToolStrip)
  12.                         {

  13.                             foreach(var t in (item as ToolStrip).Items)
  14.                             {
  15.                                 ToolStripItem tsbtn = t as ToolStripItem;

  16.                                 if (tsbtn.Text == "应用")
  17.                                 {
  18.                                     tsbtn.Text = "确定";
  19.                                     tsbtn.Image = Properties.Resources.rotate_btn;
  20.                                 }
  21.                                 else if(tsbtn.Text == "清除")
  22.                                     tsbtn.Visible = false;
  23.                                 else if(tsbtn.Text != "取消")//其他的按钮全部隐藏
  24.                                     tsbtn.Visible = false;

  25.                             }
  26.                         }
  27.                     }
  28.                     
  29.                     frm.Refresh();
  30.                 }
  31.             }
  32.         
  33.         }

  34.         private void tsASC_Click(object sender, EventArgs e)
  35.         {
  36.             c1FlexGrid1.Sort(SortFlags.Ascending, col);
  37.             filterForm.Close();
  38.         }

  39.         private void tsDESC_Click(object sender, EventArgs e)
  40.         {
  41.             c1FlexGrid1.Sort(SortFlags.Descending, col);
  42.             filterForm.Close();
  43.         }

  44.         private void c1FlexGrid1_MouseClick(object sender, MouseEventArgs e)
  45.         {
  46.             if (c1FlexGrid1.HitTest(e.Location).Type == C1.Win.C1FlexGrid.HitTestTypeEnum.FilterIcon)
  47.             {
  48.                 CustomFilterMenu();
  49.                 HitTestInfo hti = c1FlexGrid1.HitTest(e.X, e.Y);
  50.                 col = hti.Column;
  51.             }
  52.         }
复制代码

本帖子中包含更多资源

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

x
回复 使用道具 举报
tfy168
注册会员   /  发表于:2020-7-29 17:11:11
板凳
谢谢!我看一下是否可以。
回复 使用道具 举报
tfy168
注册会员   /  发表于:2020-7-29 17:23:22
地板
您好!新的问题又来了,C1表格的筛选怎么可以筛选界面的内容?现在好象只能筛选datasource下面的数据? 谢谢!
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-7-29 18:08:39
5#
测试非绑定的数据也可以过滤的,建议你上传demo来重现问题

本帖子中包含更多资源

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

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