GridView单击行及CheckBox问题

lixinramaxel41658133 2010-06-13 03:45:27
已经设了GridView的行单击事件,在RowDataBound里
e.Row.Attributes.Add("onclick", "document.getElementById('"+lkb.ClientID+"').click();");
会执行RowCommand里的代码.

现在又加了一列CheckBox,单击选中CheckBox主要是为了删除这一行记录,但依然会执行单击行的事件,非常不便.

有没有方法在当鼠标移动到CheckBox处单击仅仅选中而不执行单击行的事件?而点击该行其他部分则是执行单击行事件.
...全文
235 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
2011-10-17
  • 打赏
  • 举报
回复
把单击事件 变成双击事件 就可以了。
之前我遇到这样的问题 是这么解决的。ondblclick
zwei61 2011-10-17
  • 打赏
  • 举报
回复
顶了,口口加一正解,也是解决方法的一种方式,鄙视sp1234,光说不练的,到哪看到你说一大堆的都是废话
tan124 2010-06-13
  • 打赏
  • 举报
回复
e.Row.Attributes.Add("onclick", "document.getElementById('"+lkb.ClientID+"').click();");
xray2005 2010-06-13
  • 打赏
  • 举报
回复
e.Row.Attributes.Add("onclick", "document.getElementById('"+lkb.ClientID+"').click();");
去掉这个代码不就是了吗?
koukoujiayi 2010-06-13
  • 打赏
  • 举报
回复
也遇到过一样的问题!只能是一个一个单元格写,
CheckBox的click调用一个js,而其他单元的click是调用相同的一个js,
这样可以达到楼主的效果,就是要多写几行代码,但用户体验不错!!

           //设置CheckBox的Click
CheckBox ck = (CheckBox)e.Row.Cells[0].FindControl("CheckBox1");
ck.Attributes.Add("onclick", "js1()");

//设置其他单元格的Click
e.Row.Cells[1].Attributes.Add("onclick", "js2()");
e.Row.Cells[2].Attributes.Add("onclick", "js2()");
e.Row.Cells[3].Attributes.Add("onclick", "js2()");
//.....
hu5265235110 2010-06-13
  • 打赏
  • 举报
回复
帮顶~~~~
wuwenyong 2010-06-13
  • 打赏
  • 举报
回复
受教了,帮顶
  • 打赏
  • 举报
回复
软件该怎么设计,请先从不懂软件开发的用户角度去思考。否则,你就可能闹心很长时间。作出的软件别说用户,就算你的公司的任何设计人员都无法看得下去,而你却会固执地以为既然是自己写了程序任何人都不能说你不对。
  • 打赏
  • 举报
回复
单击行是什么意思?为什么单击行里的除了checkbox的方框以及文字以外的东西叫做单击行,而单击checkbox的文字就不叫单击行?如果我是根本不懂的用户,你能给我解释清楚吗?如果解释不清楚,我就觉得你作为做软件的人也是稀里糊涂给我个你自己都说了不算的产品。
  • 打赏
  • 举报
回复
顶一下!~~~
  • 打赏
  • 举报
回复
非常感谢以上各位的回复!
我还是想实现这个功能,当然最后要是没有好的方法也只能是设为单击某列来执行了.
ashou706 2010-06-13
  • 打赏
  • 举报
回复
把checkbox的选中用js控制。全部删除时一次判断每行checkbox是否被选中。
哈喽Baby 2010-06-13
  • 打赏
  • 举报
回复
你可以把点击一行的事件,改成单击一列的,然后就不会和checkbox冲突了
lishuai1030 2010-06-13
  • 打赏
  • 举报
回复
你设定了行单击事件 不管你单击本行的那里 它都会执行这个事件的 如果这样的话 不设定行单击 行不?
那就可以执行不同的事件了
S_trance 2010-06-13
  • 打赏
  • 举报
回复
没试过这样局部的,

帮顶
一、表头表尾 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直接绑定控件,然后更新 九、主键索引 根据主键多条记录删除,单条记录删除。
控件使用
1、鼠标经过行的时候改变该行的样式,鼠标离开行的时候恢复该行的样式
使用方法(设置属性):
MouseOverCssClass - 鼠标经过行时行的 CSS 类名

2、对多个字段进行复合排序;升序、降序的排序状态提示
使用方法(设置SmartSorting复合属性):
AllowSortTip - 是否启用排序提示
AllowMultiSorting - 是否启用复合排序
SortAscImageUrl - 升序提示图片的URL(不设置则使用默认图片)
SortDescImageUrl - 降序提示图片的URL(不设置则使用默认图片)
SortAscText - 升序提示文本
SortDescText - 降序提示文本

3、根据按钮的CommandName设置其客户端属性
使用方法(设置ClientButtons集合属性):
BoundCommandName - 需要绑定的CommandName
AttributeKey - 属性的名称
AttributeValue - 属性的值(两个占位符:{0} - CommandArgument;{1} - Text)
Position - 属性的值的位置

4、联动复选框(复选框的全选和取消全选)。选中指定的父复选框,则设置指定的所有子复选框为选中状态;取消选中指定的父复选框,则设置指定的所有子复选框为取消选中状态。如果指定的所有子复选框为均选中状态,则设置指定的父复选框为选中状态;如果指定的所有子复选框至少有一个为取消选中状态,则设置指定的父复选框为取消选中状态
使用方法(设置CascadeCheckboxes集合属性):
ParentCheckboxID - 模板列中 父复选框ID
ChildCheckboxID - 模板列中 子复选框ID
YYControls.Helper.SmartGridView中的静态方法
List GetCheckedDataKey(GridView gv, int columnIndex)
List GetCheckedDataKey(GridView gv, string checkboxId)

5、固定指定行、指定列,根据RowType固定行,根据RowState固定行
使用方法(设置FixRowColumn复合属性):
FixRowType - 需要固定的行的RowType(用逗号“,”分隔)
FixRowState - 需要固定的行的RowState(用逗号“,”分隔)
FixRows - 需要固定的行的索引(用逗号“,”分隔)
FixColumns - 需要固定的列的索引(用逗号“,”分隔)
TableWidth - 表格的宽度
TableHeight - 表格的高度

6、响应行的单击事件和双击事件,并在服务端处理
使用方法(设置属性):
BoundRowClickCommandName - 行的单击事件需要绑定的CommandName
BoundRowDoubleClickCommandName - 行的双击事件需要绑定的CommandName

7、行的指定复选框选中的时候改变该行的样式,行的指定复选框取消选中的时候恢复该行的样式
使用方法(设置CheckedRowCssClass复合属性):
CheckBoxID - 模板列中 数据行的复选框ID
CssClass - 选中的行的 CSS 类名

8、导出数据源的数据为Excel、Word或Text(应保证数据源的类型为DataTable或DataSet)
使用方法:
为SmartGridView添加的方法
Export(string fileName)
Export(string fileName, ExportFormat exportFormat)
Export(string fileName, ExportFormat exportFormat, Encoding encoding)
Export(string fileName, int[] columnIndexList, ExportFormat exportFormat, Encoding encoding)
Export(string fileName, int[] columnIndexList, string[] headers, ExportFormat exportFormat, Encoding encoding)

9、给数据行增加右键菜单,响应服务端事件或超级链接
使用方法(设置ContextMenus集合属性):
Text - 菜单的文本内容
BoundCommandName - 需要绑定的CommandName
NavigateUrl - 链接的URL
Target - 链接的目标窗口或框架
SmartGridView的属性ContextMenuCssClass - 右键菜单的级联样式表 CSS 类名(右键菜单的结构div ul li a)

10、自定义分页样式。显示总记录数、每页记录数、当前页数、总页数、首页、上一页、下一页、末页和分页按钮
使用方法(设置CustomPagerSettings复合属性):
PagingMode - 自定义分页的显示模式
TextFormat - 自定义分页的文本显示样式(四个占位符:{0}-每页显示记录数;{1}-总记录数;{2}-当前页数;{3}-总页数)

11、合并指定列的相邻且内容相同的单元格
使用方法(设置属性):
MergeCells - 需要合并单元格的列的索引(用逗号“,”分隔)

62,064

社区成员

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

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

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

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