gridview单击某一行时,取改行的值
我要实现的是单击gvPOHeader某一行时,gvPOLine会根据gvPOHeader选中行的字段值绑定数据,但是在单击时总是取不到值。
后台代码:
protected void gvPOHeader_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
//单击/双击 事件
e.Row.Attributes.Add("onmousedown", "getCode('" + e.Row.Cells[2].Text + "')");
//注:OnClick参数是指明为鼠标单击事件,后个是调用javascript的getCode函数
}
}
前端代码:(我要获取的数据就是第三列,单据编号的值)
<Columns>
<asp:TemplateField ItemStyle-CssClass="showcell" HeaderStyle-CssClass="showcell">
<ItemTemplate><asp:LinkButton runat="server" ID="btnDetial" CommandName="Detail" >辅助列 </asp:LinkButton></ItemTemplate></asp:TemplateField>
<asp:TemplateField ><ItemTemplate><asp:CheckBox ID="chSelect" runat="server" /></ItemTemplate></asp:TemplateField>
<asp:TemplateField HeaderText="单据编号" > <ItemTemplate> <%#Eval("FormCode").ToString()%> </ItemTemplate> </asp:TemplateField>
...
js代码:
<script type="text/javascript" language="javascript">
function getCode(code)
{
document.getElementById("<%=frmCode.ClientID %>").value= code ;
}
</script>
单击鼠标文本框没反应,开始我以为是数据没有传递过去,后来我把e.Row.Attributes.Add("onmousedown", "getCode('" + e.Row.Cells[2].Text + "')")改成e.Row.Attributes.Add("onmousedown", "getCode('aaa')")发现可以实现,说明不是数据没有传递过去,而是e.Row.Cells[2].Text没有获取到数据,这个方法里面设置断点也设置不了,不知道到底哪里出的问题,求大神们帮忙。