Aggiungi alla tua griglia una colonna Template. Nel ItemTemplate inserisci il bottone che ti serve.
Mediante la gestione dell'evento RowDataBound puoi gestire la visualizzazione o meno del bottone nella colonna template. L'evento RowDataBound si verifica ad ogni binding di ogni riga della griglia, per cui è come se fosse una iterazione.
if (e.Row.RowTipe == DataControlRowType.DataRow)
{
//la proprietà dataItem del Row ti fa accedere ai dati del datasource per la riga corrente
DataRowView rigaCorrente = (DataRowView)e.Row.DataItem;
Button bottoneCorrente = (Button)e.Row.FindControl("nome_bottone_templateField");
if (rigaCorrente["colonna2"].toString() != "Pippo")
{
bottoneCorrente.visible = false;
{
}
Ciao
Sk