FineUI官方Demo上一直没有Grid右键菜单的实现,其实从4.1.x的版本开始,允许添加自定义的事件监听(Listeners),所以要实现这个功能已经相当容易了。

ExtJs右键菜单有很多种,对于Grid控件来说,我这里只简单说明两种实现。即在表格的数据行上右键单击时弹出的菜单,以及在空白位置右键单击时弹出的菜单。

时间有限,废话不多说了,先看两个效果图。(实现环境 FineUI4.1.6,.NET 4.0因为需要指定控件的ID)

1. 数据行右键菜单

2. 空白处右键菜单

实现方法:

第一步:添加Grid控件。。。不多说了

第二步:往Grid控件后面添加两个Menu控件,分别对应要实现的两个右键菜单,要指定ClientIDMode为Static,Hidden为true

第三步:为Grid添加事件“containercontextmenu”,“itemcontextmenu”事件监听

EnableHeaderMenu="false" EnableColumnLines="true" DataKeyNames="ID" >

.....省略

这两个事件属于ExtJs的GridPanel控件,参数说明如下:

containercontextmenu:grid:表格对象,e:事件对象,eOpts:事件对象参数;

itemcontextmenu:grid:表格对象,record:选择的行对像(可以通过record.rawData属性获得所选行的全部数据),item:html元素对象,index:行索引,e:事件对象,eOpts:事件对象参数;

一般情况下,照抄上面的代码就Ok了,除非你对事件处理函数有更多的要求。

第四步:实现菜单功能。按照正常的方法绑定菜单按钮的事件就可以了,没什么需要特别说明的

在第二步的代码里可以看到,已经为添加和修改按钮添加了服务端OnClick事件绑定。下面看一下后台代码的实现

protected void OnAddClick(object sender, EventArgs e)

{

FineUI.Alert.Show("Add Click!", FineUI.MessageBoxIcon.Information);

}

protected void OnEditClick(object sender, EventArgs e)

{

var selectedrow = Grid1.Rows[Grid1.SelectedRowIndex].DataKeys[0].ToString();

FineUI.Alert.Show(string.Format("修改ID为{0}的记录", selectedrow), FineUI.MessageBoxIcon.Warning);

}

如何使用FineUI Grid控件,添加分页功能,然后高度填充整个页面。具体请看下面文字说明和代码分析。

使用FineUI 控件的每个页面都有一个f:PageManager控件,它包含属性:AutoSizePanelID,设置需要填充的控件ID,从它的demo可以看出,正常情况下需要再放置一个容器Panel,就可以使整个页面填充。

ShowBorder="false"

PageSize="3"

AllowPaging="true"

IsDatabasePaging="true"

OnPageIndexChange="ResultSetGrid_PageIndexChange"

OnSort="ResultSetGrid_Sort"

AllowSorting="true"

SortField="ID">

以上内容是基于FineUI Grid控件添加右键菜单的全部叙述,希望对大家有所帮助。

fineui grid ajax,基于FineUI Grid控件添加右键菜单相关推荐

  1. Duilib中为RichEdit\Edit控件添加自定义右键菜单

    前言 Duilib中的RichEdit控件在使用中发现,基本上对复制.粘贴.剪切等快捷方式都是支持的,不过唯一缺点是没有右键菜单,感觉不够好,于是就想着加上右键菜单. 右键菜单基本思路是,在RichE ...

  2. WPF对某控件添加右键属性

    代码创建右键属性 ContextMenu cm = new ContextMenu();MenuItem mi = new MenuItem();mi.Header = "打开此文件所有文件 ...

  3. 怎样在Delphi中屏蔽Flash控件的右键弹出菜单

    关于如何屏蔽Flash控件的右键菜单的问题有很多人问过,也有很多人回答,基本上都是说拦截 Application消息,或者继承一个新的控件,重载MouseDown消息,第一种解决办法,好象是简单 些, ...

  4. FineUI秘密花园(五) — 按钮控件

    曾经最普普通通的按钮,在FineUI中摇身一变,法力无边,下面就来看看你曾经最熟悉的按钮? 按钮的状态与大小 按钮有启用/禁用,按下/正常几种状态,对应的属性分别为Enabled.EnablePres ...

  5. 自动为DEV GridView控件添加SizeChanged事件

    实现gdv设置的抽象对象,不用每个gdv控件都添加sizechanged事件,只需执行gdc绑定sql函数,在其中会自动添加SizeChanged事件. //2016.5.13 by sngk //根 ...

  6. VB.net小技巧——ReoGrid控件添加到工具箱说明

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 VB.net小技巧--ReoGrid控件添加到工具箱说明 Add Control by Programming for Windows ...

  7. 在asp.net中为Web用户控件添加属性和事件

    在90年代初,Microsoft为Web程序员提供的 Active Server Pages(ASP)革命性地改变了Web的编程.它可以利用十分易用的模型在Web服务器上动态生成HTML,并且很容易的 ...

  8. 给ModalPopupExtender控件添加弹出关闭等事件

    在使用Ajax Control Toolkit ModalPopup控件时,我们可能需要在该控件弹出关闭等操作时,添加对应的事件,从而在后台对控制页面元素的目的. 这里推荐的有效方法如下: 我们可以参 ...

  9. 为ASP.NET控件加入快捷菜单

    Cutting Edge:为ASP.NET控件加入快捷菜单 英文原文: Adding a Context Menu to ASP.NET Controls 作者:Dino Esposito 翻译: M ...

最新文章

  1. MyEclipse数据库连接配置(以Oracle为例)
  2. API Hook完全手册
  3. dotNetSpider 手记
  4. 比较好的一些 ConcurrentHashMap讲解博客
  5. java创建android快捷方式_Android 通过应用程序创建快捷方式
  6. 修复十一个重要高危漏洞 苹果致谢滴滴美研
  7. 你能说出 Kafka 这些原理吗?
  8. CSS2.0样式手册_说明_SDK下载chm
  9. python 静态变量_python小课堂19 - 面向对象篇(二)
  10. 修改mysql的authen_关于MySQL连接抛出Authentication Failed错误分析
  11. 敏捷模式下携程的接口自动化平台演变
  12. 微信公众平台网页授权两次重定向跳转问题
  13. 在nameSilo购买域名
  14. 用python做餐厅点餐系统
  15. 5年后端WEB开发者的开机必备软件(md版本)
  16. 深入探索Android内存优化
  17. 给你的亲人一个科技感满满的生日祝福吧
  18. pycharm中出现这个文件图标左上角出现这个问号怎么解决
  19. 服务器引擎制作,2.5D-GIS地图引擎设计
  20. MATLAB常用命令及函数大全(字母顺序)

热门文章

  1. 怎么把线稿提取出来_手把手教你如何使用photoshop提取线稿
  2. JUC第一讲:juc并发包深入理解(P6熟练 P7精通)
  3. 微前端-乾坤qiankun
  4. 国内首套IEC 61850标准的变电站自动化系统在南瑞出厂
  5. Window上通过SSH连接linux终端
  6. IE Canvas的颜色问题
  7. 12周。。。刑警成绩
  8. 【Linux】文件系统的inode是什么?软硬链接是什么?了解意义
  9. Photoshop 2023 Beta(PS2023Beta) v24.6 AI测试版 win/mac版
  10. 创业者路演时怎样演讲能够抓住投资人的眼球呢?李开复是这样回答的