Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/12/2012, 07:26
Avatar de Sougiro
Sougiro
 
Fecha de Ingreso: octubre-2007
Mensajes: 136
Antigüedad: 16 años, 6 meses
Puntos: 1
Tomar el id de un data Gridview

Hola a todos, necesito un pequeño favor. Estoy trabajando en una pagina web con ASP.NET y manejando un data gridview, del cual necesito extraer el Id que esta colocado como DataKeyName dentro del data grid, para poder modificar la información que en el hay, este es el código con el cual esta hecho el data grid :

<asp:GridView ID="GVsoluciones" runat="server" AutoGenerateColumns="False" DataKeyNames="ID_SOLUCION"
OnRowCommand="GVsoluciones_RowCommand">
<Columns>
<asp:BoundField DataField="Paso" HeaderText="Paso" />
<asp:ButtonField HeaderText="Solucion" DataTextField="SOLUCION" Text="Botón" />
<asp:TemplateField>
<ItemTemplate>
<a href="javascript:openImage('Show_Imagen.aspx?nombr e_imagen=<%#Eval("RUTA_IMAGEN").ToString()%>')">
<img alt="" src='<%# Eval("RUTA_IMAGEN").ToString() == "N\\A" ? "": "Imagenes/Imagen_icon.png" %>' /></a>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>

Como ven estoy tratando de usar el Row_command para disparar un evento y modificar el texto que contenga el data grid. Este es el evento y donde necesito tomar el ID que esta en el DataKeyName:

protected void GVsoluciones_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandArgument.ToString() != "")
{
Pmodificar.Visible = true;
LinkButton btnSolucion = (LinkButton)GVsoluciones.Rows[Convert.ToInt32(e.CommandArgument)].Cells[1].Controls[0];
//Lid_caso.Text = GVsoluciones.DataKeys[GVsoluciones.SelectedIndex].Value.ToString();
int index = Convert.ToInt32(e.CommandArgument);
Lid_caso.Text = index.ToString();
Lid_caso.Visible = true;
//Session["id_caso"] = GVsoluciones.SelectedIndex.ToString();
TXsolucion.Text = btnSolucion.Text;
}
}

Como ven en las lineas comentadas están los intentos que he tenido para tomar dicho Id. Por favor ayúdenme con este problemita. Gracias.