功能:
单击行弹出当前行详细页面
双击行进入编辑状态(GridView/DataGrid内置 Edit)
说明:
单击事件(onclick)使用了 setTimeout 延迟,根据实际需要修改延迟时间
常见处理行方式会选择在 RowDataBound/ItemDataBound 中处理,这里我选择 Page.Render 中处理,至少基于以下考虑
RowDataBound 仅仅在调用 DataBind 之后才会触发,回发通过 ViewState 创建空件不触发 假如需要更多的处理,你需要分开部分逻辑到 RowCreated 等事件中
并且我们希望使用 ClientScript.GetPostBackEventReference 和 ClientScript.RegisterForEventValidation 方法 进行安全脚本的注册,而后者需要在页的 Render 阶段中才能处理
关于“DataGrid中采取的辅助按钮支持回发”见ASP.NET DEMO8: 为 GridView 每行添加服务器事件
PS:未实现 Edit 对应的 Update/Cancel ,根据需要自行添加即可。
原始需求:既有单击又有双击的GridView是否存在(问了许多人都说不能,郁闷)
可直接运行源码(单页 .aspx):
<%@ Page Language="C#" %> <%@ Import Namespace="System.Data" %>
<%--http://community.csdn.net/Expert/TopicView3.asp?id=5767096--%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
效果:
下载
PS:未实现 Edit 对应的 Update/Cancel ,根据需要自行添加即可。
|
请发表评论