我要实现的是单击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没有获取到数据,这个方法里面设置断点也设置不了,不知道到底哪里出的问题,求大神们帮忙。gridview单击某行
后台代码: 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没有获取到数据,这个方法里面设置断点也设置不了,不知道到底哪里出的问题,求大神们帮忙。gridview单击某行
解决方案 »
- asp.net头部尾部用母版页与#include导入头尾有什么区别?求机制分析,万谢
- 请教用JS如何获取选中文本的内容啊(谷歌浏览器)????????SOS
- 请问怎么对datalist控件中的某个控件进行操作
- 每一次包括在项目中很慢,请问有什么好的办法让速度快一些,?
- asp.net 使用Process.Kill()提示“拒绝访问”
- 用户 'NT AUTHORITY\SYSTEM' 登录失败
- 为什么点击后,不改变值?
- 请教一个有关ASP错误运行时怎么解决?
- dropdownlist的selectChange事件的问题
- 请问各位:在asp.net的代码区,调用javascript的语法怎么样写?我的代码如下:但有错,请各位能给我纠正。急!急!急!在线等待!谢谢
- Repeater嵌套实现数据的显示,和treeview递归显示效果一样
- 请教 高并发下 .net 返回文件下载 以及 记录来路 的效率取舍问题. 求大神.
protected void GridView1_DataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
Response.Write(e.Row.Cells[2].Text);
}
}
这样是可以获取到值得
string text = e.Row.Cells[2].Text;
e.Row.Attributes.Add("onmousedown", "getCode('" + text + "')");
protected void GridView1_DataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
Response.Write(((TextBox)(e.Row.Cells[2].Controls[0])).Text);
}
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
DataRowView dr = (DataRowView)e.Row.DataItem;
Response.Write(dr["FormCode"].ToString() + "<br>");
}
}
这样呢