我正在使用GridView,我在编辑链接上遇到了两次点击以查看编辑字段问题。以下建议我再次在.RowEditing处理程序上绑定我的GridView。问题仍然存在,我在第二次点击任何编辑链接后才看到编辑字段。
<%@ Page Title="Home Page" Language="vb" MasterPageFile="~/Site.Master" AutoEventWireup="false"
CodeBehind="Default.aspx.vb" Inherits="GridViewTest._Default" %>
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<h2>
Welcome to ASP.NET!
</h2>
<p>
To learn more about ASP.NET visit <a href="http://www.asp.net" title="ASP.NET Website">www.asp.net</a>.
<asp:GridView ID="gvReport" runat="server" AutoGenerateColumns="False"
AutoGenerateEditButton="True">
<Columns>
<asp:BoundField DataField="c1" HeaderText="C1" />
<asp:BoundField DataField="c2" HeaderText="C2" />
<asp:BoundField DataField="c3" HeaderText="C3" />
<asp:BoundField DataField="c4" HeaderText="C4" />
<asp:BoundField DataField="c5" HeaderText="C5" />
<asp:BoundField DataField="c6" HeaderText="C6" />
<asp:BoundField DataField="c7" HeaderText="C7" />
<asp:BoundField DataField="c8" HeaderText="C8" />
</Columns>
</asp:GridView>
</p>
<p>
You can also find <a href="http://go.microsoft.com/fwlink/?LinkID=152368&clcid=0x409"
title="MSDN ASP.NET Docs">documentation on ASP.NET at MSDN</a>.
</p>
</asp:Content>
Public Class _Default
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
loaddata()
End If
End Sub
Sub loaddata()
'Get dataview dvAgTarRet_gv
gvReport.DataSource = dvAgTarRet_gv
gvReport.DataBind()
Session.Add("gvReport", dvAgTarRet_gv)
end sub
答案 0 :(得分:19)
找到它。需要设置gridview EditIndex,然后执行数据绑定。
Private Sub gvReport_RowEditing(sender As Object, e As System.Web.UI.WebControls.GridViewEditEventArgs) Handles gvReport.RowEditing
gvReport.DataSource = CType(Session("gvReport"), DataView)
gvReport.EditIndex = e.NewEditIndex
gvReport.DataBind()
End Sub
答案 1 :(得分:4)
只需调用网格绑定功能:
protected void GvEmployee_RowEditing(object sender, GridViewEditEventArgs e)
{
GvEmployee.EditIndex = e.NewEditIndex;
bindgridview(); // method of binding gridview
}