Как я могу идентифицировать отредактированную строку в GridView?

#asp.net #gridview #row

#asp.net #gridview #строка

Вопрос:

Мой клиент хотел, чтобы GridView отображал поля только внутри текстовых полей и выпадающих списков. Он хотел гибко обновлять запись, просто нажав на кнопку Обновления после изменения значений в ячейке.

Он хотел, чтобы текущее редактирование GridViewRow было другого цвета, чтобы он мог нажать кнопку «Обновить» для этой конкретной строки.

Как я могу определить текущую редактируемую строку в GridView? Поскольку нет кнопки редактирования, на которую можно нажать!!

Ответ №1:

Вероятно, вы ищете GridView.EditIndex

Также вот руководство, которое выглядит так, как будто соответствует вашей проблеме: http://csharpdotnetfreak.blogspot.com/2009/05/gridview-sqldatasource-insert-edit.html

Ответ №2:

На основе Gridview rows EditItemIndex вы можете определить, находится ли строка в режиме редактирования или нет. Обратитесь к этому, чтобы узнать больше.

Ответ №3:

вы можете выбрать строку, используя этот код, и отобразить строку другим цветом. вы можете выделить,

 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)         
{         }     
 }
  

Ответ №4:

Вы говорите о многострочном редактировании? Или сценарий, в котором все строки отображают свой редактируемый пользовательский интерфейс? Лучший способ, если это так, — использовать TemplateFields для всех полей и отображать текстовые поля / другие элементы управления в шаблоне. Из коробки редактирование нескольких строк не поддерживается.

Или вы можете создать пользовательский элемент управления, подобный тому, что было сделано здесь: http://blogs.msdn.com/b/mattdotson/archive/2005/11/09/real-world-gridview-bulk-editing.aspx

Если вы говорите о простом редактировании, выбор AutoGenerateUpdateButton=»true» добавит кнопку обновления или вручную добавит командное поле и установит для его имени команды значение update .

HTH.