validaciones en celda de grid

17/01/2005 - 12:26 por Racsus | Informe spam
Hola

quiero que cuando el usuario inserte datos en una celda
del grid me salte directamente a una funcion (la del
keypress del textbox), pero en el objeto grid no existe
este evento, existe pero para el grid en si, no para las
celdas del grid. como lo hago?

saludos
 

Leer las respuestas

#1 Imac_Man
17/01/2005 - 15:34 | Informe spam
ok, no se si es la mejor forma de hacerlo, pero en mi caso me permite
trabajar de una forma mas controlada de los grids.

te sugiero que le pegues a tu grid un tablesyle y luego le pegues los
eventos que quieraste muestro un codigo de ejemplo, la idea sera la
siguiente imaginate que este codigo se lo pegamos a un form en su load

-1- Primero nos creamos una funcion que emplearemos desde el fom load...no
es nada complicado

Public function FormatoTabla( Ds as DataSet) as DataGridTableStyle
dim Columna as new datagridtextboxColumn
dim Tabla as new DataGridTableStyle

Tabla = new DatagridTableStyle
Tabla.mappingname = Ds.Table(0).tablename.tostring

Columna = new DataGridTextBoxColumn
Columna.mappingname = "Codigo_producto"
Columna.headertext = "Codigo"
Columna.Width = 70
Columna.NullText = ""
Tabla.GridColumnStyles.Add(Columna)

Columna = new DataGridTextBoxColumn
Columna.mappingname = "Nombre_producto"
Columna.headertext = "Nombre"
Columna.Width = 200
Columna.NullText = ""
Tabla.GridColumnStyles.Add(Columna)

Dim MiEventoKeyPress As DataGridTextBoxColumn =
CType(Tabla.GridColumnStyles("Nombre_producto"), DataGridTextBoxColumn)
AddHandler MiEventoKeyPress.TextBox.KeyPress, AddressOf
SubrutinaKeyPress

Return Tabla
End function

-2- ok ahora nos creamos la subrutina o procedimiento que capturara el
evento keypress

Private Sub SubrutinaKeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyEventArgs)
Aqui le metes tu codigo
End sub

-3-ok ahora nos vamos al form load (esto del form load es solo de nuestro
ejemplo tu lo puedes poner donde quieras...ok)

dim Conexion as new sqlclient.sqlconnection("Server=local;" &
"DataBase=Northwind;" & "Integrated Security=SSPI")
dim MiDataSet as new dataset
dim Comando as new sqlclient.sqlcommand
dim Adaptador as new sqlclient.sqldataadapter

Comando.commandtext = "select * from products"
Comando.conection = Conexion
Adaptador.selectedcommand = Comando
Adaptador.fill(MiDataSet)

DataGrid1.datasource = MiDataSet.tables(0)
DataGrid.AddTableStyle( FormatoTabla(MiDataSet))

codigo de arriba.si tienes alguna duda o alguien tiene una mejor tecnica
le -agradeceria me contara

Saludos



"Racsus" escribió en el mensaje
news:1f8f01c4fc87$68dc2960$
Hola

quiero que cuando el usuario inserte datos en una celda
del grid me salte directamente a una funcion (la del
keypress del textbox), pero en el objeto grid no existe
este evento, existe pero para el grid en si, no para las
celdas del grid. como lo hago?

saludos

Preguntas similares