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

Campos Datagrid

Estas en el tema de Campos Datagrid en el foro de .NET en Foros del Web. Hola a Todos Bueno el dato es el siguiente quiero sacar todos los campos que tenga una fila en un datagrid cuando lo seleciono he ...
  #1 (permalink)  
Antiguo 13/08/2004, 13:21
Avatar de jose_d  
Fecha de Ingreso: enero-2003
Ubicación: Cali
Mensajes: 220
Antigüedad: 21 años, 3 meses
Puntos: 4
Campos Datagrid

Hola a Todos
Bueno el dato es el siguiente quiero sacar todos los campos que tenga una fila en un datagrid cuando lo seleciono he intentado todo lo que se y he leido pero na
el unico campo que puedo sacar es la llave primaria que defino en el datagrid
pero no mas que hago...
__________________
El leer te da el poder de mejorar
  #2 (permalink)  
Antiguo 13/08/2004, 13:56
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
POdrías ser un poco mas claro friend.. no entiendo bien tu pregunta..

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 14/08/2004, 11:27
Avatar de jose_d  
Fecha de Ingreso: enero-2003
Ubicación: Cali
Mensajes: 220
Antigüedad: 21 años, 3 meses
Puntos: 4
Hola
la idea es la siguiente supongamos que lleno un datagrid con datos de una tabla los campos son Pk cedula , Nombre , telefono.
tengo un link button de selecionar.
cuando lo seleciono necesito de alguna forma sacar lo que esta en el campo telefono y nombre ya que el campo que Pk lo puedo sacar con datagrid1.datakeys(index).

espero me puedan ayudar
gracias por su tiempo
__________________
El leer te da el poder de mejorar
  #4 (permalink)  
Antiguo 16/08/2004, 02:48
Avatar de luiscl  
Fecha de Ingreso: abril-2004
Ubicación: Zaragoza
Mensajes: 305
Antigüedad: 20 años
Puntos: 0
Hola!.

Yo lo haría de la siguiente forma. Me crearía dentro del datagrid una TemplateColumn, y dentro metería labels enlazados con los campos de la base de datos. Vamos a hacerlo con el campo teléfono, por ejemplo. Te creas la TemplateColum, dentro metes un label que se llame lbltelefono.

Para que no se vea esta columna, sólo tienes que poner datagridcasasC.Columns(5).Visible = False (suponiendo que el datagrid se llame 'datagridcasasC', y que la columna del datagrid sea la número 5. Acuérdate que empieza contando de 0: 0,1,2...), en el code behind. Yo lo pongo despues del datagridcasasC.DataBind().

Luego, donde quieras del Code Behind, para acceder a ese campo, suponiendo que tu botón hiperlink se llama "btninformacion",

Dim dgi As DataGridItem
For Each dgi In datagridcasasC.Items

CType(dgi.FindControl("btninformacion"), HyperLink).NavigateUrl = "informacion.aspx?telefono=" & CType(dgi.FindControl("lbltelefono"), Label).Text

Next

De esta manera abres una nueva ventana a la que le has pasado un parámetro "telefono", que varía en función de la fila del datagrid en el que estés.

Lo he hecho de memoria, así que espero no haberme equivocado.

A ver si es esto lo que buscabas.

Un saludo.
__________________
Pide lo que quieras...y luego paga por ello
  #5 (permalink)  
Antiguo 16/08/2004, 07:24
Avatar de splinter  
Fecha de Ingreso: junio-2004
Ubicación: Misantla,Ver.Mexico
Mensajes: 181
Antigüedad: 19 años, 10 meses
Puntos: 0
Hola luiscl,

Yo tengo un problema parecido, he agregado dropdownlist a mi grid mediante un codigo como este:
Dim rc As New DropDownList
rc.Items.Add(New ListItem("Valor1", "1"))
rc.Items.Add(New ListItem("Valor2", "2"))
rc.Items.Add(New ListItem("Valor3", "3"))
rc.ID = "LstRC"
e.Item.Cells(11).Controls.Clear()
e.Item.Cells(11).Controls.Add(rc)

El problema es que cuando intento recuperar del grid el valor seleccionado de esta lista el metodo Findcontrol me arroja error al no poder encontrar el objeto.

Me puedes ayudar?

Gracias
  #6 (permalink)  
Antiguo 16/08/2004, 07:54
Avatar de luiscl  
Fecha de Ingreso: abril-2004
Ubicación: Zaragoza
Mensajes: 305
Antigüedad: 20 años
Puntos: 0
Hola Splinter;

Quiero entender que no tienes ningún problema a la hora de añadir dinámicamente el dropdown. Es decir, que este código que me has pasado te añade los items al dropdown y se ven perféctamente en el datagrid.

Si esto es cierto, me hace falta que pongas el código para ver dónde haces la lectura y de qué manera.

Yo creo que si lo hicieses dentro del método ItemDataBound, tal y como te pongo ahora, no deberías tener problemas. Si no te funciona, pásame el código.

Private Sub loquesea_ItemDataBound(ByVal...

Select Case e.Item.ItemType

Case ListItemType.AlternatingItem, ListItemType.Item

label.text = CType(e.Item.Cells(3).FindControl("rc"), DropDownList).SelectedItem.Text

End Select

End Sub
__________________
Pide lo que quieras...y luego paga por ello
  #7 (permalink)  
Antiguo 16/08/2004, 07:55
Avatar de luiscl  
Fecha de Ingreso: abril-2004
Ubicación: Zaragoza
Mensajes: 305
Antigüedad: 20 años
Puntos: 0
perdon, sería en tu caso e.Item.Cells(11)
__________________
Pide lo que quieras...y luego paga por ello
  #8 (permalink)  
Antiguo 16/08/2004, 09:01
Avatar de splinter  
Fecha de Ingreso: junio-2004
Ubicación: Misantla,Ver.Mexico
Mensajes: 181
Antigüedad: 19 años, 10 meses
Puntos: 0
Gracias Luis,

'*Mira aqui esta el codigo de como agrego el control de lista al grid
---------------------------------------------------------------------------------
Private Sub Grid_BomFindingEdit_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles Grid_BomFindingEdit.ItemDataBound
If e.Item.ItemType = ListItemType.Item Or _
e.Item.ItemType = ListItemType.AlternatingItem Then
Dim rc As New DropDownList
rc.Items.Add(New ListItem("Valor1", "1"))
rc.Items.Add(New ListItem("Valor2", "2"))
rc.Items.Add(New ListItem("Valor3", "3"))
rc.ID = "LstRC"
e.Item.Cells(10).Controls.Clear()
e.Item.Cells(10).Controls.Add(rc)
End If
End Sub
----------------------------------------------------------------------------------

*Ahora, lo que hice es poner un boton en el grid, para recuperar los datos,(el grid no lo cambio en modo de edicion ), los primeros 2 valores si los logro obtener.

Private Sub Grid_BomFindingEdit_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Grid_BomFindingEdit.SelectedIndexChanged

Dim ISSUE_NO As String
Dim EC_Number As String
Dim Root_Cause As String

ISSUE_NO = Grid_BomFindingEdit.SelectedItem.Cells(2).Text
EC_Number = CType(Grid_BomFindingEdit.SelectedItem.FindControl ("TxtEC_No"), TextBox).Text
'Aqui necesito obtener el valor de la lista (DropDownList) para realizar la actualizacion


End Sub
--------------------------------------------------------------------------------

De antemano gracias.
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 17:37.