如何在GridView中识别已编辑的行?

时间:2011-09-28 11:12:17

标签: asp.net gridview row

我的客户希望GridView仅显示TextBoxes和DropDownListBoxes中的字段。他希望只需在更改单元格中的值后单击“更新”按钮即可灵活地更新Record。

他希望当前编辑GridViewRow有一些不同的颜色,以便他可以点击该特定行的“更新”按钮。

如何识别GridView中的当前编辑行?由于没有可以点击的编辑按钮!!

4 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

基于Gridview行EditItemIndex,您可以查找行是否处于编辑模式。请参阅this了解更多信息。

答案 2 :(得分:1)

您可以使用此代码选择行,并显示不同颜色的行。 你可以突出显示,

protected override void Render(System.Web.UI.HtmlTextWriter writer)   
  {         
AddRowSelectToGridView(gridView);        
  base.Render(writer);   
  }      
private void AddRowSelectToGridView(GridView gv)   
  {         
try        
 {            
 foreach (GridViewRow row in gv.Rows)            
 {             
row.Attributes["onmouseover"] = "this.style.cursor='hand';
this.style.textDecoration='underline';";                
row.Attributes["onmouseout"] = "this.style.textDecoration='none';";                 
row.Attributes.Add("onclick",Page.ClientScript.GetPostBackEventReference(gv,"Select$"+row.RowIndex.ToString(), true));           
  }         
}         
catch (Exception ex)         
{         }     
 }

答案 3 :(得分:0)

你在说多行编辑吗?或者所有行都显示其可编辑UI的场景?如果是这种情况,最好的方法是对所有字段使用TemplateFields,并在模板中呈现文本框/其他控件。开箱即用,不支持多行编辑。

或者您可以创建自定义控件,如此处所做的那样:http://blogs.msdn.com/b/mattdotson/archive/2005/11/09/real-world-gridview-bulk-editing.aspx

如果您只是简单编辑,选择AutoGenerateUpdateButton =“true”将添加更新按钮,或手动添加命令字段并将其CommandName设置为更新。

HTH。