2011-02-04 6 views
1

, что я хочу сделать, когда пользователь нажимает кнопку «Удалить», я хочу выделить всю строку и запросить подтверждение перед удалением, а ниже - мой код и iw ant выполните два шага: 1) hightlight весь ряд 2) запросите подтверждение.Выделите строки GridView только при нажатии кнопки Delete

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"))); 
    } 
} 

ответ

4
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; 
} 
+0

одна маленькая вещь я foud что я чередующиеся строки '' так как я могу восстановить тот же переменный ряд? –

+0

Я изменил код для обработки чередующихся строк. – Phaedrus

+0

+1 благодаря Phaedrus –