我有自动事件的那种gridview:
<asp:GridView BackColor="Beige" AlternatingRowStyle-BackColor="Azure" ID="grvMandat" AutoGenerateEditButton="True" OnRowUpdating="grvMandat_RowUpdate" OnRowEditing="grvMandat_OnRowEditing" runat="server" Visible="true" AutoGenerateColumns="false" EmptyDataText="Aucun Article" >
OnRowEditing事件可以编辑sql表的数据。
令人讨厌的是,我必须在编辑按钮上单击两次才能触发任何文本框。
任何想法的原因?
答案 0 :(得分:1)
原因是GridView的默认行为。
要实现一键编辑模式,您要做的是为每个网格视图行添加属性以响应一次点击。
row.Attributes["onclick"] =
ClientScript.GetPostBackClientHyperlink(GridView1, "Edit$" + row.DataItemIndex, true);
这里有关于如何执行此操作的好文章:http://forums.asp.net/t/2012153.aspx?inline+gridview+edit+without+edit+just+on+click+of+cell
***** EDIT ****** 在OP进一步澄清后,我认为问题出在RowEditing事件中。
Private Sub grvMandat_RowEditing(sender As Object, e As System.Web.UI.WebControls.GridViewEditEventArgs) Handles grvMandat.RowEditing
grvMandat.DataSource = CType(Session("grvMandat"), DataView)
grvMandat.EditIndex = e.NewEditIndex
grvMandat.DataBind()
End Sub
编辑卷轴的东西在这里:
protected void grvMandat_OnRowEditing(object sender, GridViewEditEventArgs e)
{
grvMandat.EditIndex = e.NewEditIndex;
ShowGrv();
}