this.dgvOut.CurrentCell=dgvOut[2,i]//设置当前单元格
dgvOut.BeginEdit(true)//设置可编辑状态
return//由于该例子是用在for循环内部来检测,所以设置了返回
前台:步骤1:添加JavaScript脚本,用以在TextBox控件获得焦点时,触发后台GridView的RowCommand事件。
代码如下:
<script language="javascript" type="text/javascript">
function test(x)
{
var btn = x + "Button"
document.all(btn).click()
}
</script>
步骤2:修改你的GridView。
注意:
1.TextBox添加了onfocus="test(this.id)"
2.添加了一个隐藏的按钮
详细见下代码:
<asp:GridView ID="gv_StockInfo" runat="server" AllowPaging="True">
<Columns>
<asp:BoundField DataField="ID" HeaderText="ID" />
<asp:BoundField DataField="商品编码" HeaderText="商品编码" />
<asp:BoundField DataField="商品名称" HeaderText="商品名称" />
<asp:TemplateField HeaderText="实到数量">
<ItemTemplate>
<asp:TextBox ID="txt_quantity" runat="server" AutoPostBack="True" CausesValidation="True" Width="50px" Text='<%# Eval("实到数量") %>' onfocus="test(this.id)"></asp:TextBox>
<!--添加一个隐藏的按钮,CommandArgument存储当前GridView控件的行号-->
<asp:Button ID="txt_quantityButton" runat="server" Text="" CommandArgument= '<%#(Container as GridViewRow).RowIndex %>' Width="0" Height="0" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
后台:
步骤3:
添加GridView的RowCommand事件
protected void gv_StockInfo_RowCommand(object sender, GridViewCommandEventArgs e)
{
int id = Convert.ToInt32(e.CommandArgument)
gv_StockInfo.SelectedIndex = id
//在这里添加你的GridView的数据绑定过程或函数。
}
与2楼的回答不同之处在于,此方法是通过调用GridView的事件,使GridView真正的选取该行,而不是改变该行的现实效果。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)