Выделять строки GridView только при нажатии кнопки «Удалить» - PullRequest
1 голос
/ 04 февраля 2011

я хочу, чтобы, когда пользователь нажимал кнопку «Удалить», я хотел выделить всю строку и запросить подтверждение перед ее удалением, а ниже приведены мой код и я хочу выполнить два шага:строка 2) запросите подтверждение.

protected void gvOrg_RowDataBound(object sender, GridViewRowEventArgs e)
{
    Button btnDelete = (Button)e.Row.FindControl("btnDelete");
    if (btnDelete != null)
     { 
          //btnDelete.Attributes.Add("onclick", e.Row.BackColor = System.Drawing.Color.Red);
          btnDelete.Attributes.Add("onclick", String.Format(textForMessage, "Id:  " + DataBinder.Eval(e.Row.DataItem, "Id"), "Name:  " + DataBinder.Eval(e.Row.DataItem, "Name")));
    }
}

1 Ответ

4 голосов
/ 04 февраля 2011
protected void gvOrg_RowDataBound(object sender, GridViewRowEventArgs e)
{
  Button btnDelete = (Button)e.Row.FindControl("btnDelete");
  if (btnDelete != null)
  { 
    btnDelete.Attributes.Add("onclick", 
      String.Format(@"return DeleteRow('{0}',{1});", 
        e.Row.ClientID,e.Row.RowIndex));
  }
}

//javascript
function DeleteRow(rowId, rowIdx)
{
  HighlightRow(rowId, "#FF0000");
  var result = confirm('Are you sure you want to delete this record?');
  if(!result)
    HighlightRow(rowId, rowIdx % 2 ? "#DEEEE9" : "#FFFFFF");
  return result;
}

function HighlightRow(rowId, color)
{
  var row = document.getElementById(rowId);    
  row.style.background = color;
}
...