DataGrid

13/08/2007 - 21:00 por Lu´pita | Informe spam
Hola!

En una palicación web estoy mostrando un datagrid que contiene cierta
información de la base de datos, pero lo que necesito además de mostrar los
datos es colocar un link o botón que diga seleccionar que me permita enviar
esos datos a un dataset o list o algo similar, ya que despues utilizare los
datos seleccionados para otro proceso.

He conseguido mostrar el link pero no hace nada aunque en el editor de
código coloque esto:

private void MyDataGrid_ItemCommand(object source,
System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
//Response.Write("Se recibio "+e.CommandName);
if (e.CommandName=="Select")
{
Response.Redirect("cookies.aspx");
}
}


Espero alguien pueda ayudarme.

Gracias y Saludos...

Preguntas similare

Leer las respuestas

#1 CrAsH-DMX
15/08/2007 - 08:37 | Informe spam
Hola

Lo que quieres hacer no es mucha vuelta ???

Lo mas sencillo es que cuando el usuario le de click al boton seleccionar,
concatenes en un string el indice de la fila seleccionada y lo guardes en
una variable viewstate, despues en tu proceso obtienes un arreglo de valores
de la variable de sesion usando un split en el string y el dataset que esta
usando del datagrid y vas obteniendo el valor de cada uno de los registros
almacenados en el dataset utilizando los valores del arreglo como indices
del dataset.

Osease algo asi:

Para este ejemplo supngamos que el datagrid se llama grid

//En el evento ItemCommand concatenamos el valor del indice seleccionado y
lo separamos con un "/".

private void grid_ItemCommand(object source,
System.Web.UI.WebControls.DataGridCommandEventArgs e) {
if(ViewState["indices"]!=null)
ViewState["indices"] = ViewState["indices"].ToString +
e.Item.SelectedIndex.ToString() + "/" ;
else
ViewState["indices"] = e.Item.SelectedIndex.ToString() + "/" ;
}

//En tu proceso, obtenemos cada uno de los valores del dataset que
actualmente esta utilizando el datagrid.

public void MiProceso(){
//Obtenemos el DataSet que actualmente utiliza el DataGrid
DataSet ds = (DataSet)grid.DataSource();
//obtenemos un arreglo de strings de los indices que recuperamos de
nuestra variable viewstate
string[] arr = ((string)ViewState["indices"]).Split('/');
//Finalmente obtenemos los valores del dataset;
string val1 =
ds.Tables[0].Rows[Convert.ToInt32(arr[1])].ItemArray[0].ToString(); //Valor
del primer campo del primer indice
string val2 =
ds.Tables[0].Rows[Convert.ToInt32(arr[2])].ItemArray[0].ToString(); //Valor
del primer campo del segundo indice
string val3 =
ds.Tables[0].Rows[Convert.ToInt32(arr[3])].ItemArray[0].ToString(); //Valor
del primer campo del tercer indice
//etc, etc, etc, asi recuperas cualquier valor que necesites y
finalmente los procesas.
}

Espero que esto ayude.

Saludos

CrAsH-DMX

"Lu´pita" escribió en el mensaje
news:
Hola!

En una palicación web estoy mostrando un datagrid que contiene cierta
información de la base de datos, pero lo que necesito además de mostrar
los
datos es colocar un link o botón que diga seleccionar que me permita
enviar
esos datos a un dataset o list o algo similar, ya que despues utilizare
los
datos seleccionados para otro proceso.

He conseguido mostrar el link pero no hace nada aunque en el editor de
código coloque esto:

private void MyDataGrid_ItemCommand(object source,
System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
//Response.Write("Se recibio "+e.CommandName);
if (e.CommandName=="Select")
{
Response.Redirect("cookies.aspx");
}
}


Espero alguien pueda ayudarme.

Gracias y Saludos...
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida