Queria comentarles sobre algo que no tiene mucha documentacion en español.
Estuve una dia completo tratando de recuperar mas de un valor con datakeys , en el evento RowCommand , y realmente me costo hacerlo , busque por todos lado en internet , tanto en ingles como español , y no encontre nada , asi que ahi esta la solucion para que no sufran mas:
Tengo un griedview con dos columnas buttonfield , asi que queria capturar el valor que tenia el texto de cada uno de los botones , usé en asp.net del grid la palabra clave datakeynames="campo1,campo2" ,,,, luego en el evento RowCommand usé
dgvListado.DataKeys[Convert.ToInt32(e.CommandArgument)].Values[1].ToString();
para recuperar los valores puestos en el datakeynames
0 ---> para el campo1
1 ---> para el campo 2
Costó pero se pudo.