ComponentArt Grid触发和处理服务器端事件

ComponentArt Grid的一个重要特征是它能够触发服务器端事件。为了充分发挥他的优势,适当的响应这些事件是至关重要的。这篇文章提供了服务器端事件的概述,同时也是一系列典型应用实例

下面是服务器事件的列表以及相应的类定义,版本3.0

事件

EventArgs

意义

ColumnReorder

GridColumnReorderEventArgs

一个列的位置在显示顺序中发生变化

DeleteCommand

GridItemEventArgs

行被删除

FilterCommand

GridFilterCommandEventArgs

产生一个服务器端过滤请求

GroupCommand

GridGroupCommandEventArgs

产生一个服务器端分组请求

InsertCommand

GridItemEventArgs

插入新行

ItemCheckChanged

GridItemCheckChangedEventArgs

Checkbox类型的列的选择状态变化

ItemCommand

GridItemCommandEventArgs

服务器模板中的控件导致的回传

ItemDataBound

GridItemDataBoundEventArgs

一个服务器模板被莫行示例化

NeedRebind

EventArgs

表格需要重新绑定到它的数据源

NeedDataSource

EventArgs

数据源需要更新

PageIndexChanged

GridPageIndexChangedEventArgs

一个新的页请求

Scroll

GridScrollEventArgs

一个卷轴滚动请求

SelectCommand

GridItemEventArgs

行被选择

SortCommand

GridSortCommandEventArgs

产生一个服务器端排序请求

UpdateCommand

GridItemEventArgs

行被编辑

新页(页改变)请求事件

解释服务器端事件的产生和处理,我们从最基本的例子开始:PageIndexChanged。这个事件表示使用表格分页系统的一个简单请求。除非手工分页请求(通过设置ManualPaging为true),只有必须的动作可以改变表格的CurrentPageIndex来匹配一个请求。下面是我们怎样定义事件处理

public void Grid1_PageIndexChanged

(object sender, ComponentArt.Web.UI.GridPageIndexChangedEventArgs args)

{

Grid1.CurrentPageIndex = args.NewIndex;

}

这样我们可以建立事件处理的委托

private void InitializeComponent()

{

...

Grid1.PageIndexChanged += new

ComponentArt.Web.UI.Grid.PageIndexChangedEventHandler(Grid1_PageIndexChanged);

}

选择事件

另一个常用例子是包含关联表行的事件:SelectCommand。这个事件在一个表格行被选时产生,一个回传产生。与事件关联的只有已经选择的行的数据

要想当一行被选中时产生这个事件,我们必须先设置表格控件的AutoPostBackOnSelect为true

<ComponentArt:Grid runat="server" ID="Grid1" AutoPostBackOnSelect="true" ...>

...

</ComponentArt:Grid>

然后,在后置代码中,我们定义SelectCommand事件委托和事件处理程序

private void Grid1_SelectCommand(object sender, ComponentArt.Web.UI.GridItemEventArgs args)

{

Response.Write("Selected item: " + args.Item["ID"] + "<br />"n");

}

private void InitializeComponent()

{

...

Grid1.SelectCommand +=

new ComponentArt.Web.UI.Grid.GridItemEventHandler(Grid1_SelectCommand);

}

给表格添加右键菜单

ComponentArt Grid提供与ComponentArt Menu的无缝结合来创建智能右键菜单。表格和菜单交换关于选定表格行和他的状态的信息。OnContextMenu 属性指定了产生客户端菜单的子程序.

如下图,菜单操作包括编辑、删除、插入行等。每一个菜单行调用客户端函数来设置表格属性和调用表格方法

添加右键菜单

1.添加ComponentArt Grid(Grid1)到页面,设置表格为客户端运行模式

2.在表格属性页,设置OnContextMenu属性为ShowContextMenu。ShowContextMenu是你添加在并发步骤中的客户端函数

3.添加ComponentArt Menu(Menu1)到页面。设置页面属性如下

Property       Value

ContextMenu Custom

Orientation   Vertical

4.在HTML视图,在</head>标签前,添加客户端JavaScript如下。ShowContextMenu函数在右键单击表格。这个程序选择右键点击的行,显示菜单,传递选定行的信息到ContextData 属性设定的菜单

<script type="text/javascript" language="javascript">

function ShowContextMenu(item, column, evt)

{

Grid1.Select(item);

Menu1.ShowContextMenu(evt);

Menu1.ContextData = item;

return false;

}

</script>

5.在</ComponentArt:Menu>结束标记前,添加下面的标记添加行到菜单。

注意,每行包含ClientSideCommand属性值

前三行指出了由ComponentArt Grid自动产生的客户端函数。当表格打开菜单时,Edit 和Delete菜单行传回菜单得到的上下文信息。第四行(Exit)执行一行简单的JavaScript脚本来关闭右键菜单

<Items>

<ComponentArt:MenuItem Text="Edit Row"

ClientSideCommand="Grid1.Edit(GridContextMenu.ContextData);" />

<ComponentArt:MenuItem Text="Delete Row"

ClientSideCommand="Grid1.Delete(GridContextMenu.ContextData);" />

<ComponentArt:MenuItem Text="Insert New Row"

ClientSideCommand="Grid1.Table.AddRow()" />

<ComponentArt:MenuItem Text="Exit"

ClientSideCommand="function donthng(){return false;}" />

</Items>

6.编译执行页面,右键点击某行。右键菜单产生.当你点击一行时执行指派的客户端命令

注意:参考"live_examples"grid"features"grid_contextMenu"右键菜单的例子,包括类型,图片,回传数据库等

转载于:https://www.cnblogs.com/xiaozhuoyun/archive/2007/10/19/930859.html

ComponentArt.web.ui中文帮助之Grid(六)相关推荐

  1. Kendo Web UI Grid数据绑定,删除,编辑,并把默认英文改成中文

    Kendo Web UI 是个不错的Jquery框.可惜老外写的,很多都是默认的英文,当然我们也可以设置成中文,接下来,我们就看看Grid是如何实现的数据绑定(Kendo Grid数据绑定实现有很多方 ...

  2. Web UI 制作规范

    一. Web 目录结构规范: 目录建立的原则:以最少的层次提供最清晰简便的访问结构. 目录的命名以小写英文字母,下划线组成. 根目录一般只存放index.htm以及其他必须的系统文件 根目录下的p_w ...

  3. 国际化分布式WEB UI自动化测试平台搭建

    国际化分布式WEB UI自动化平台 一 背景 二 特色功能 三 系统架构设计&框架选型 自动化测试框架 Selenium WebDriver Selenium Grid 四 功能介绍 平台化 ...

  4. Ubuntu安装OSSEC和OSSEC Web UI

    Ubuntu安装OSSEC和OSSEC Web UI 一.安装环境 二.配置安装依赖项 1. OSSEC依赖包 2. 安装Apache并更新防火墙 调整防火墙以允许Web通信 3. 安装PHP 三.下 ...

  5. 基于Selenium与Pytest框架的Web UI自动化测试系统的设计与实现

    摘要 随着互联网的高速发展,软件技术日新月异,产品更新换代的加快等,始终都离不开一个最核心的要素就是保证产品的质量,测试人员则在其中担任着不可或缺的角色.测试人员的主要工作职责就是通过各种测试手段去发 ...

  6. 15 个 JavaScript Web UI 库

    新闻来源:speckboy.com 几乎所有的富 Web 应用都基于一个或多个 Web UI 库或框架,这些 UI 库与框架极大地简化了开发进程,并带来一致,可靠,以及高度交互性的用户界面.本文介绍了 ...

  7. 15 个 JavaScript Web UI 库 (转)

    几乎所有的富 Web 应用都基于一个或多个 Web UI 库或框架,这些 UI 库与框架极大地简化了开发进程,并带来一致,可靠,以及高度交互性的用户界面.本文介绍了 15 个非常强大的 JavaScr ...

  8. 适用响应式 Web UI 框架

    1. Bootstrap Bootstrap是快速开发Web应用程序的前端工具包.它是一个CSS和HTML的集合,它使用了最新的浏览器技术,给你的Web开发提供了时尚的版式,表单,buttons,表格 ...

  9. DiQuick Web UI 框架 V1.3 正式版发布

    DiQuick Web UI框架,采用HTML+CSS3+JS,配置有响应式布局及预定义设置,包含诸多组件:Nav.Tab.Media.Form.Menu.Slider.Dialog等,致力于开发轻量 ...

最新文章

  1. 解决flask中文乱码的问题
  2. Web测试要点 做移动端的测试,也做web端的测试,甚至后面桌面端的测试和后台的测试也做了,基本上把我们产品各个端都玩了一轮...
  3. Docker环境下Java应用的最大内存和堆内存的设置
  4. swal如何加入html语言,Sweet Alert弹窗点击确定后执行页面跳转等操作
  5. 计划任务工具 cron 的配置和说明
  6. 计算机二级链表,计算机二级c语言上机考试——结构体与链表(3页)-原创力文档...
  7. 小电科技开启裁员,涉及多个部门一律劝退?回应:消息不属实
  8. linux命令的-和--参数问题
  9. linux lite安装教程,Linux Lite第一个获得Linux 4.14 及如何安装它
  10. 问题:ajaxSuccess() ajaxComplete() ajaxError()....??? 参数event xhr options的用法
  11. 清华大学操作系统OS学习(十二)——信号量与管程
  12. 黑马程序员-python笔记-从入门到入职
  13. 计算机视觉前沿技术探索
  14. IPwe区块链智能池利用AI来处理专利分析
  15. 【python】if __name__==‘__mian__‘ 如何理解,原理及作用
  16. 【大话数据结构C语言】56 二叉排序树的查找、插入和删除
  17. 与或树的盲目搜索和启发式搜索
  18. C++行为型模式-实现观察者模式
  19. 《江山美人》:这只是一场游戏
  20. win10向VMware中的win7传文件

热门文章

  1. java如何恢复视图_Java - 如何用reformation+Moshi创建回收站视图_java_酷徒编程知识库...
  2. python时间转绝对秒数_python时间时分秒与秒数的互相转换
  3. java实现折半查找_java语言之实现折半查找算法
  4. 测试面试题集-3.生活物品测试:杯子、伞、钢笔、桌子
  5. Task04:集合运算-表的加减法和join等-天池龙珠计划SQL训练营
  6. NOIP模拟测试25
  7. NET EF 连接Oracle 的配置方法记录
  8. 使用python通过odbc处理*.dbf数据表
  9. Go语言基础练习题系列1
  10. python列表[]中括号