如题;
在网上找了这样一种方法,总是调不出来,各位大神给看看
首先在模板列中添加一个按钮用来选中行,页面有关代码如下:
26 <Columns>
27 <asp:TemplateField>
28 <ItemTemplate>
29 <input id="btnLocation" type="button" value="定位到" onclick="Select()" style="height: 20px" />
30 </ItemTemplate>
31 </asp:TemplateField>
32 </Columns>
33
34 脚本代码如下:
35
36 //取得gridview中获取选中行指定列的值
37 function Select()
38 {
39 //获取鼠标点击的元素
40 var e=event.srcElement;
41 //获取元素所在的行的行号(表头行号从0开始)。注意:parentElement只适用于IE浏览器,而parentNode则符合DOM标准。
42 //var rowIndex=e.parentElement.parentElement.rowIndex ;
43 var rowIndex=e.parentNode.parentNode.rowIndex ;
44 //获取GridView控件
45 var gdview=document.getElementById("<%=gdview.ClientID %>");
46 //分别获取选定行标注点的X、Y坐标
47 var value=gdview.rows(rowIndex).cells(列号).innerText;
48
49 }
你的代码只能在ie10-下跑,事件对象不是这样获取的。传递当前对象到Select方法里面
<columns>
<asp:templatefield>
<itemtemplate>
<input id="btnLocation" type="button" value="定位到" onclick="Select(this)" style="height: 20px" />
</itemtemplate>
</asp:templatefield>
</columns>
<script language="javascript"> //取得gridview中获取选中行指定列的值
function Select(btn) {
var rowIndex = btn.parentNode.parentNode.rowIndex;
var gdview = document.getElementById("<%=gdview.ClientID %>");
var value = gdview.rows[rowIndex].cells["要取列的下标,从0开始"].innerHTML;
}
</script>
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。