Foros del Web » Programación para mayores de 30 ;) » .NET »

Obtener fila Datagrid

Estas en el tema de Obtener fila Datagrid en el foro de .NET en Foros del Web. Quiero saber como puedo hacer para obtener el indice de una fila, especificamente la fila que esta siendo actualmente editada. Me explico, cuando un usuario ...
  #1 (permalink)  
Antiguo 17/11/2004, 08:38
Avatar de HenrydeSousa  
Fecha de Ingreso: septiembre-2004
Ubicación: Venezuela
Mensajes: 300
Antigüedad: 19 años, 7 meses
Puntos: 2
Obtener fila Datagrid

Quiero saber como puedo hacer para obtener el indice de una fila, especificamente la fila que esta siendo actualmente editada.
Me explico, cuando un usuario agregar una nueva fila al datagrid, o cuando coloca una ya existente en modo de edicion, como puedo saber cual es la fila sobre la cual esta parado actualmente de forma que pueda leer los valores de los Text Box y enviarlos a la base de datos.
Esto es porque no estoy utilizando las columnas del Datagrid para insertar y actualizar y eliminar sino que estos son metodos que tengo en botones de comando por eso necesito saber como puedo obtener la fila que esta siendo actualmente editada. Saludos.
  #2 (permalink)  
Antiguo 17/11/2004, 08:53
 
Fecha de Ingreso: octubre-2004
Mensajes: 878
Antigüedad: 19 años, 6 meses
Puntos: 1
fila en la que estas:
e.Item.ItemIndex

para consultar una caja de texto:
((TextBox)e.Item.FindControl("nombretextbox")).Tex t;


http://hhdirecto.webcindario.com
  #3 (permalink)  
Antiguo 17/11/2004, 09:24
Avatar de HenrydeSousa  
Fecha de Ingreso: septiembre-2004
Ubicación: Venezuela
Mensajes: 300
Antigüedad: 19 años, 7 meses
Puntos: 2
Ok, se que con e.Item.ItemIndex obtengo la fila en la que estoy parado, pero eso lo hago en el UpdateCommand del datagrid que recibe e de tipo System.Web.UI.WebControls.DataGridCommandEventArgs . Mi pregunta es como hago eso desde un boton de comando ya que este no recibe un parametro de ese tipo. Esa es mi duda.
  #4 (permalink)  
Antiguo 17/11/2004, 12:51
Avatar de jose_d  
Fecha de Ingreso: enero-2003
Ubicación: Cali
Mensajes: 220
Antigüedad: 21 años, 3 meses
Puntos: 4
pues desde que este selecionado lo podes hacer de estamanera

grilla.SelectedItem.ItemIndex

pero la fila debe de estar selecionada ok !!!

__________________
El leer te da el poder de mejorar
  #5 (permalink)  
Antiguo 17/11/2004, 14:22
Avatar de HenrydeSousa  
Fecha de Ingreso: septiembre-2004
Ubicación: Venezuela
Mensajes: 300
Antigüedad: 19 años, 7 meses
Puntos: 2
Ok, entiendo que con esto obtengo el numero de la fila en donde estoy parado.

Pero como hago para obtener los valores de los elementos dentro del grid.
Creo que se puede hacer con algo asi, e.Item.Cells(0).Text
Pero el probleme esta en acceder a e, ya que este es un parametro al que podria
tener acceso en el UpdataCommand Event, pero no lo estoy utilizando. Entonces como hago
para accder a los valores de los controles dentro del datagrid de la fila seleccionada
actualmente desde el click event de un Command button?
  #6 (permalink)  
Antiguo 17/11/2004, 17:50
Avatar de jose_d  
Fecha de Ingreso: enero-2003
Ubicación: Cali
Mensajes: 220
Antigüedad: 21 años, 3 meses
Puntos: 4
hola mira
con el selectindex es como si tuvieras la variable e
el selectindex tiene las propiedades SelectedItem.Cells(0).Controls(0) entonces el manejo es el mismo

espero te sirva
:Adios:
__________________
El leer te da el poder de mejorar
  #7 (permalink)  
Antiguo 18/11/2004, 02:05
 
Fecha de Ingreso: octubre-2004
Mensajes: 878
Antigüedad: 19 años, 6 meses
Puntos: 1
datagrid.items <- ahi tienes todos los items

recorriendo los items:
datagrid.items[i].findcontrol ...

Has probado asi?
  #8 (permalink)  
Antiguo 18/11/2004, 06:45
Avatar de HenrydeSousa  
Fecha de Ingreso: septiembre-2004
Ubicación: Venezuela
Mensajes: 300
Antigüedad: 19 años, 7 meses
Puntos: 2
Ok amigos lo intentare como me lo indicaron. Gracias.
  #9 (permalink)  
Antiguo 18/11/2004, 08:03
Avatar de HenrydeSousa  
Fecha de Ingreso: septiembre-2004
Ubicación: Venezuela
Mensajes: 300
Antigüedad: 19 años, 7 meses
Puntos: 2
Hola, por favor disculpenme por mi ignorancia, pero aun no he sido
capaz de hacerlo como me han dicho. Esto es parte de lo que he probado.

Esto lo hice en el boton de comando:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim oTxt As System.Web.UI.WebControls.TextBox
oTxt = CType(DataGrid1.Items(DataGrid1.EditItemIndex).Fin dControl("txtCidSusti"), System.Web.UI.WebControls.TextBox)
End Sub

Cuando coloco DataGrid1.Items(DataGrid1.EditItemIndex).FindContr ol("txtCidSusti") puedo
leer el valor, ya que le indico que lo busque en la fila que esta en modo de edicion.

pero necesito indicarle una fila en especifico, por ejemplo:
DataGrid1.Items(1).FindControl("txtCidSusti")

Pero aca me da un error que dice Referencia a objeto no establecida como
instancia de un objeto. Que estoy haciendo mal aqui?

Tambien lo hice como me dijo jose_d: SelectedItem.Cells(0).Controls(0)
pero igual me da error de Referencia a objeto no establecida como
instancia de un objeto. No se como acceder a la fila y al control de esta forma.
  #10 (permalink)  
Antiguo 18/11/2004, 16:45
Avatar de jose_d  
Fecha de Ingreso: enero-2003
Ubicación: Cali
Mensajes: 220
Antigüedad: 21 años, 3 meses
Puntos: 4
Hola pues tengo entendido lo siguiente cuando no esta selecionado un item podes hacer esto datagrid1.items(1).cells(0).text donde item es el numero de filas y cells es la posision de la columna y el .text te devuelve el valor que este almacenado

Ojala te sirva :Adios:
__________________
El leer te da el poder de mejorar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:02.