我想在GridView行的任何地方单击一下,复制编辑按钮的相同功能.
下面的代码执行此操作,但存在一个主要问题:如果用户单击一个文本框到下一个文本框,则编辑命令将再次触发,对上一个文本框所做的更改将恢复为其原始值.
有关如何解决此问题的任何建议?
或者,有没有更好的方法来实现这一目标?
编辑:这是通过添加检查解决row.RowState.HasFlag( DataControlRowState.Edit ).见下面的代码:
protected override void Render( System.Web.UI.HtmlTextWriter writer )
{
foreach( GridViewRow row in gvwOrderItems.Rows )
{
if( row.RowType == DataControlRowType.DataRow &&
row.RowState.HasFlag( DataControlRowState.Edit ) == false )
{
// enable click on row to enter edit mode
row.Attributes["onclick"] =
ClientScript.GetPostBackClientHyperlink( gvwOrderItems, "Edit$" + row.DataItemIndex, true );
}
}
base.Render( writer );
}
Run Code Online (Sandbox Code Playgroud)
检查row.RowState.HasFlag( DataControlRowState.Edit ).
protected override void Render( System.Web.UI.HtmlTextWriter writer )
{
foreach( GridViewRow row in gvwOrderItems.Rows )
{
if( row.RowType == DataControlRowType.DataRow &&
row.RowState.HasFlag( DataControlRowState.Edit ) == false )
{
// enable click on row to enter edit mode
row.Attributes["onclick"] =
ClientScript.GetPostBackClientHyperlink( gvwOrderItems, "Edit$" + row.DataItemIndex, true );
}
}
base.Render( writer );
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10843 次 |
| 最近记录: |