ASP gridview事件可定制吗?

时间:2015-09-18 16:50:42

标签: c# asp.net gridview

我有自动事件的那种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表的数据。

令人讨厌的是,我必须在编辑按钮上单击两次才能触发任何文本框。

任何想法的原因?

1 个答案:

答案 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();
}