C# gridview编辑模式以编程方式
我有一个基本的gridview,我将SQL存储过程中的代码中的数据绑定到该gridviewC# gridview编辑模式以编程方式,c#,asp.net,sql,gridview,C#,Asp.net,Sql,Gridview,我有一个基本的gridview,我将SQL存储过程中的代码中的数据绑定到该gridview <asp:GridView ID="gvCheckResults" runat="server" OnRowDataBound="gvCheckResults_RowDataBound" RowStyle-CssClass="gridViewRow" CssClass="gridView" AlternatingRowStyle-
<asp:GridView ID="gvCheckResults" runat="server"
OnRowDataBound="gvCheckResults_RowDataBound"
RowStyle-CssClass="gridViewRow"
CssClass="gridView"
AlternatingRowStyle-CssClass="gridViewAlternatingRow"
HeaderStyle-CssClass="gridViewHeader">
</asp:GridView>
如何以编程方式将“编辑”按钮添加到每个结果行?
我知道在aspx页面中设置datasource对象时如何执行此操作,但从未以编程方式执行此操作。尝试这样做
<asp:TemplateField HeaderText="Edit>
<ItemTemplate>
<asp:LinkButton Id="lnkEdit" runat="server" CommandName="Edit" Text="Edit"/>
</ItemTemplate>
<EditItemTemplate>
<asp:LinkButton Id="lnkEdit" runat="server" CommandName="Update" Text="Update"/>
<asp:LinkButton Id="LinkButton1" runat="server" CommandName="Cancel" Text="Cancel"/>
</EditItemTemplate>
</asp:TemplateField>
尝试gridview的ItemTemplate并添加asp.net按钮,它将出现在所有行中。然后使用GRIDVIEW的Row_命令事件处理它的事件。一件奇怪的事是,我的前4-5列都变成了编辑链接。如何解决这个问题?我希望编辑列是gridview中的第一列。这是OnRowEditing的代码->
gvCheckResults.EditIndex=e.NewEditIndex;gvCheckResults.DataSource=dataContext.GetResults(名称、地址);gvCheckResults.DataBind()代码>单击编辑按钮时发生的情况..显示gridview aspx代码行变为可编辑(标签变为文本框),单击更新时,gridview“gvCheckResults”触发事件行更新时出错,未处理该事件代码>这是有意义的,因为没有更新的方法。更新可以工作,但我必须修复的一件事是编辑链接,它在每次绑定后一直占据我的所有列。有关更新,请参阅初始问题。
<asp:TemplateField HeaderText="Edit>
<ItemTemplate>
<asp:LinkButton Id="lnkEdit" runat="server" CommandName="Edit" Text="Edit"/>
</ItemTemplate>
<EditItemTemplate>
<asp:LinkButton Id="lnkEdit" runat="server" CommandName="Update" Text="Update"/>
<asp:LinkButton Id="LinkButton1" runat="server" CommandName="Cancel" Text="Cancel"/>
</EditItemTemplate>
</asp:TemplateField>
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
GridView1.DataBind();
}
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
//Write code TO UPDATE YOUR DATABESE THEN WRITE BELOW CODE IN LAST
// To Find Text of TextBox to get updated value....you get it in string like this.
//string strName = ((TextBox)grdview1.Rows[e.RowIndex].Cells[YourColumnIndexInWhichTexBoxAppear].Controls[0]).Text;
GridView1.EditIndex = -1;
GridView1.DataBind();
}
protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
GridView1.EditIndex = -1;
GridView1.DataBind();
}