如何为gridview 的行绑定一个js事件呢?

njstalk 2010-10-11 02:19:29
本来gridview 提供了一个选择行的功能,但是这个自带的选择功能每次都要刷新页面,所以想用js的方法来实现点击一行的一个按钮或来链接来返回改行的id,请问应该怎么做呢?我是用前台绑定数据的方法。
谢谢!
...全文
175 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
fzhjl 2010-12-17
  • 打赏
  • 举报
回复
在源代码中加:
CommandName="btnUpdate" CommandArgument='<%# Eval("Id") %>'
在 GridView_RowCommand事件中
取值: int id = Int32.Parse(e.CommandArgument.ToString()
Arthur080319 2010-10-11
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 njstalk 的回复:]
引用 10 楼 arthur080319 的回复:
你添加一个按钮,给按钮绑上前台事件试试
btnClick.Attributes.Add("OnClick", "SelectRow(" + e.Row.RowIndex + ")");

这个怎么添加进去呢?
我添加了按钮后,但是只能给这个按钮绑定数据呢,怎么可以绑定个事件呢?
[/Quote]

不懂你问的什么意思?
Button btnClick = e.row[RowIndex].FindControl("控件ID") as Button;
btnClick.Attributes.Add("OnClick", "SelectRow(" + e.Row.RowIndex + ")");

这不就绑定了吗?写在RowDataBound事件里
njstalk 2010-10-11
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 arthur080319 的回复:]
你添加一个按钮,给按钮绑上前台事件试试
btnClick.Attributes.Add("OnClick", "SelectRow(" + e.Row.RowIndex + ")");
[/Quote]
这个怎么添加进去呢?
我添加了按钮后,但是只能给这个按钮绑定数据呢,怎么可以绑定个事件呢?
Arthur080319 2010-10-11
  • 打赏
  • 举报
回复
你添加一个按钮,给按钮绑上前台事件试试
btnClick.Attributes.Add("OnClick", "SelectRow(" + e.Row.RowIndex + ")");
njstalk 2010-10-11
  • 打赏
  • 举报
回复
关键是这个事件没被触发得嘛。。。
        protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
e.Row.Attributes.Add("OnClick", "SelectRow(" + e.Row.RowIndex + ")");
}

我这样写了后没效果啊。。。
njstalk 2010-10-11
  • 打赏
  • 举报
回复
就是用数据控件绑定的数据。
wuyq11 2010-10-11
  • 打赏
  • 举报
回复
e.Row.Attributes.Add("OnClick","SelectRow(" + e.Row.RowIndex + ")");
function SelectRow(Index)
{
alert(index);
}

NocturneLLJ 2010-10-11
  • 打赏
  • 举报
回复

//不知道你这个 "前台绑定数据的方法" 具体指什么.
//如果真想前台绑定.那写个JS

var grid = document.getElementById('<%=GridViewID.ClientID %>');

if (grid != null) {
var objRows = grid.rows;
//如果不是表头
if (objRows.length > 1) {
foreach (var oRow in objRows) {
//补充一下.你上面的test()方法都没有返回值.你后台return个屁啊
oRow.onclick = test
}
}
}
njstalk 2010-10-11
  • 打赏
  • 举报
回复
补充下,我是用前台控件绑定数据的,这样RowDataBound还会触发吗?
njstalk 2010-10-11
  • 打赏
  • 举报
回复
我在后台代码页面上面添加了这个:

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
e.Row.Attributes.Add("onclick", "return test();");
}

然后在前台页面里面这样写的:

<html xmlns="http://www.w3.org/1999/xhtml">
<script type="text/javascript">
function test() {
alert('ok');
}
</script>
<head runat="server">
<title>测试</title>
下面省略。。。
</head>

执行了以后没有报错,但是好像没反应呢,点了之后也不弹对话框出来,请问该怎么做呢?
阿彪兄 2010-10-11
  • 打赏
  • 举报
回复
在RowDataBound事件中加一个e.row.attributes.add("onclick","return jsfunction();");
hailin668 2010-10-11
  • 打赏
  • 举报
回复
 var obj=document.all;                           //获取页面中的所有控件的集合
var purStr="";
for(i=0;i<obj.length;i++)
{
if(obj[i].type=="checkbox") //获取checkbook控件
{
if(obj[i].checked) //获取选中的checkbox控件
{
purStr=purStr+ obj[i].value+",";
}
}
hailin668 2010-10-11
  • 打赏
  • 举报
回复
 for (int i = 0; i < gwArticle.Rows.Count; i++)
{
CheckBox chk = (CheckBox)(gwArticle.Rows[i].Cells[0].FindControl("cbR1Item"));
if (chk.Checked)
{
//审核代码
int Id = Convert.ToInt32(gwArticle.Rows[i].Cells[1].Text);

}
}
一、表头表尾 1、自定义多表头,列合并,合并 2、删除表身指定列、 3、固定表头,向下拉动滚动条时,表头固定不动 4、表脚统计,总计、平均值 二、导入导出 1、导出Excel,Word 2、导入Excel 三、多层嵌套 1、在父GridView中的编辑模板中嵌套一个GridView 2、三层GridView嵌套 四、分页排序 1、分页 2、列排序,点击列升序、降序排序 五、结合控件 1、CheckBox控件,多选、全选 2、DropDownList控件 3、隐藏控件,当选择处理状态选中备注时,隐藏textbox显示 4、radio控件,选中获取GridView表主键 5、GridView中DropDownList绑定数据,直接绑定显示,无需点击编辑按纽。 6、JavaScript操作checbox实现全选,多选 六、设置属性 1、JavaScript设置GridView的背景颜色,单偶的背景颜色,鼠标停留背景,鼠标选中时的背景 2、GridView的JavaScript中的单击,双击、删除提示框、快捷键事件 3、GridView设置属性,单元格文本颜色,单元格背景颜色,表中增加空 七、无代码 GridView排序、发送邮件、点击查看详情,内容过长截取 八、选增删改 1、GridView自带的选中、编辑、删除,即CommandField 2、GridView添加记录,在GridView表脚添加控件,用添加记录 3、更新所有记录,GridView直接绑定控件,然后更新 九、主键索引 根据主键多条记录删除,单条记录删除。
课程首先介绍了Flutter的主要知识,通过4个案例消化吸收知识点。并通过手把手一步步带您完成一个【我的备忘录】APP项目,使得您真正认识Flutter在实际项目中的优势。  通过本课程学习您可以学习到Flutter技术如下知识:第1章 Flutter概述知识点:移动应用开发现状、移动应用开发类型、Hybrid与移动跨平台开发策略、Flutter是什么?、Flutter特点、Flutter体系结构。第2章 Flutter开发环境搭建知识点:基于Windows的Android开发环境、基于macOS的iOS开发环境、IDE开发工具设置。第3章 Flutter基础知识点:完成一个Flutter程序、一切都是组件(Widget)、组件分类、使用图片和图标资源、使用文本组件、增加调试组件工具。第4章 布局组件知识点:Flutter布局概述、容器布局(Container)、(Row)、列(Column)布局、层叠布局、ListView、GridView。第5章 Material风格组件知识点:按钮、输入框、复选框、单选按钮、开关按钮、滑块。第6章 iOS Cupertino风格组件知识点:iOS Cupertino页面、Cupertino按钮、Cupertino开关按钮、Cupertino滑块、Cupertino分段控件。第7章 状态管理知识点:状态管理概述、局部状态管理、全局状态管理。第8章 导航知识点:导航概述、面包屑导航、标签导航、页面组件分散在不同文件中、全局状态管理与导航。第9章 工程依赖管理知识点:工程依赖管理概述、pub依赖管理工具。第10章 数据存储知识点:Flutter数据存储策略、键值对数据存储、文件数据存储、SQLite数据存储、示例:数据CRUD操作。第11章 网络通信知识点:搭建自己的Web服务器、使用http包、示例:城市信息列表。第12章 项目实战:我的备忘录APP知识点:备忘录APP项目说明、备忘录项目后台Web服务API说明、备忘录APP项目分析与设计、初始化工程、持久层实现、表示层实现。 

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧