AJAX - actualizar datagrid con ajax

   
Vista:

actualizar datagrid con ajax

Publicado por andres mora (1 intervención) el 23/11/2007 19:48:15
tengo varios formularios aspx hechos en visual studio 2005 en C#, le agregue un user control, en donde puse una grilla y un control file upload, apartre un boton "subir" para agregar a la grilla cada archivo que seleccione con el control file upload. Cada formulario utilizara este user control. Mi consulta es como puedo hacerlo con AJAX para una vez seleccionado un archivo X con el control file upload y pinchare el boton subir no haga un postback de la pagina completa sino que inmediatamente agregue a la grilla el archivo seleccionado en el control?

Ojo no estoy usando conexiones a bases de datos ni nada, solo meter en la grilla sin hacer un postback

muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:actualizar datagrid con ajax

Publicado por Yamil Bracho (177 intervenciones) el 26/11/2007 03:38:03
Puedes usar Anthem.NET(que funciona desde .NET 1.1)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:actualizar datagrid con ajax

Publicado por marovi (17 intervenciones) el 08/02/2008 19:06:08
Puede ser que en un conjunto de mis artículos puedas encontrar lo que necesitas.

Si los aplicas a lo que quieres creo que puedes logar lo que quieres. la url esta el url opcional

PD.

Acuerdate que también puedes crear un activeobject para enviar al cliente para que se instale en este y que este haga lo que quieres.

salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:actualizar datagrid con ajax

Publicado por Guillermo Quic (2 intervenciones) el 12/05/2008 17:23:43
Asp .NET:
Base de datos control DataGrid Y MSHFelxGrid
[Separando el código HTML y el código Visual Basic en 2 archivos diferentes]
Fecha: 05/Mayo/2008 (05/05/2008)
Autor: Guillermo Quic - guillermotrabajoicc@gmail.com

1.' nueva instancia
Set oEditFlex = New clsFlex
With oEditFlex
.EditMode = eClick
' inicia
Call .Iniciar(MSHFlexGrid1, Me, DTPicker1)
' columna 0 ( no se puede editar)
Call .SetColumnas(0, enumber, True)
' columna 1 , tipo string, se puede editar
Call .SetColumnas(1, estring, False)
' columna 2 , tipo numerico, se puede editar
Call .SetColumnas(2, enumber, False)
' columna 3 , tipo moneda, se puede editar
19.Call .SetColumnas(3, ecurrency, False)
21. ' columna 4 , tipo boolean, se puede editar
Call .SetColumnas(4, eBoolean, False)
' columna 5 , tipo fecha, se puede editar
Call .SetColumnas(5, eDate, False)
End With

Texto planoCopiar código fuenteImprimir
1. Option Explicit
4. Function Sumar(MSFlexGrid As Object, _
5. Columna As Integer) As Currency
7. On Error GoTo error_function
9. With MSFlexGrid
10. Dim total As Currency
11. Dim i As Long
12.
13. If Columna > .Cols Then
14. MsgBox "Columna no válida", vbExclamation
15. Exit Function
16. End If
17.
18. ' recorrer las filas de la grilla
19. For i = 1 To .Rows - 1
20. ' comprobar que el dato es de tipo numérico con la función IsNumeric de vb
21. If IsNumeric(.TextMatrix(i, Columna)) Then
22. ' Sumar, obteniendo el valor de la celda con TextMatrix
23. total = total + .TextMatrix(i, Columna)
24. End If
25. Next
26.
27. ' retornar el total de la suma a la función
28. Sumar = total
29. End With
30.
31. Exit Function
32. error_function:
33.
34. MsgBox Err.Description, vbCritical, "error al sumar"
37. End Function
38.
39. Private Sub Command1_Click()
40.
41. Dim dtotal As Currency
42.
43. dtotal = Sumar(MSFlexGrid1, 2)
44. ' formatear el resultado y mostrarlo
45. MsgBox FormatCurrency(dtotal, 2), vbInformation
46.
47. End Sub
48.
49. Private Sub Form_Load()
52. ' Cargar datos en el MsFlexgrid
53. Randomize
54.
55. With MSFlexGrid1
56. .FixedCols = 0
59. .FormatString = "Id|Producto|Precio"
60.
61. Dim i As Integer
62. For i = 1 To 10
63. .AddItem (i) & vbTab & _
64. ("Producto ") & i & vbTab & _
65. (FormatCurrency(Round(Rnd * 100), 2)), i
66. Next
67.
68. ' ancho para los encabezados
69. .ColWidth(0) = 700
70. .ColWidth(1) = 2500
71. .ColWidth(2) = 1500
72.
73. End With
74.
75. Command1.Caption = "Sumar"
76.
77. End Sub
Se pone el código necesario para acceder a la base de datos y dar la funcionalidad a la paginación del DataGrid
Private Sub CargarDatos(Byval queDataGrid As dgDatos)
' Define el DataSet
Dim ds As DataSet
' Si el dataset ya está en el ViewState
' entonces recuperarlo de ahí, para no tener que acceder a la base de datos
' consecutivamente
If ViewState("datos") Is Nothing Then
ds = New DataSet
Dim da As New SqlDataAdapter("select * from customers", strConexion)
da.Fill(ds, "Clientes")
ViewState("datos") = ds
Else
ds = CType(ViewState("datos"), DataSet)
End If
' Hace el binding para el DataGrid seleccionado
Select Case queDatagrid
Case dgDatos.ConCSS
dgConCSS.DataSource = ds
dgConCSS.DataBind()
Case dgDatos.SinCSS
dgSinCSS.DataSource = ds
dgSinCSS.DataBind()
Case Else
dgConCSS.DataSource = ds
dgConCSS.DataBind()
dgSinCSS.DataSource = ds
dgSinCSS.DataBind()
End Select
End Sub
Se puede observar que se pasó sin ningún error los controles de tipo Button y CheckBox respectivamente. Editar celdas en una hoja de cálculo del control Hierarchical FlexGrid

1Cree los controles Hierarchical FlexGrid y TextBox.
2.Establezca las propiedades de dichos controles.
3.Agregue encabezados de fila y columna al control Hierarchical FlexGrid.
4Agregue la edición de celdas al control Hierarchical FlexGrid.
5.Agregue funcionalidad al control TextBox (el cuadro de "edición") para actualizar los datos.
Establecer las propiedades de los controles
Establezca las propiedades de los controles Hierarchical FlexGrid y TextBox como se muestra a continuación:
Control MSHFlexGrid
Propiedad Valor NameFg2Cols6Rows20FillStyle1 – RepeatFocusRect2 – HeavyFontName Arial FontSize9 Control TextBox
Propiedad Valor NameTxtEditFontNameArialFontSize9BorderSize0 – NoneVisibleFalse Editar celdas de una hoja de cálculo
Utilice los procedimientos siguientes para editar las celdas en el control Hierarchical FlexGrid.
Para editar las celdas de una hoja de cálculo
Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls

Public Class datagridVb : Inherits Page

En este ejercicio en concreto también han de importarse los espacios de nombres Data y Data.OleDb para permitir el uso de ADO .NET:

Imports System.Data
Imports System.Data.OleDb

30.
31.
32. ' Cuando se produce un error en el recordset se dispara este evento
33. Private Sub Recordset_Error( _
34. ByVal ErrorNumber As Long, _
35. Description As String, _
36. ByVal Scode As Long, _
37. ByVal Source As String, _
38. ByVal HelpFile As String, _
39. ByVal HelpContext As Long, _
40. fCancelDisplay As Boolean)
41.
42. ' Mostramos el error
43. MsgBox " Descripción del Error :" & Description, vbCritical
44. End Sub
45.
46.
47. ' Botón que quita el fitro y vuelve a visualizar _
48. todos los datos del recordset en el dataGRid
49. Private Sub Command1_Click()
50.
51. ' Comprueba que el recordset está instanciado
52. If Not Recordset Is Nothing Then
53. ' Comprueba que esté abierto
54. If Recordset.State = adStateOpen Then
55. ' Elimina el filtro
56. Recordset.Filter = ""
57. ' Carga el Datagrid
58. Set DataGrid1.DataSource = Recordset
59. ' se posiciona en el primer registro
60. Recordset.MoveFirst
61. End If
62. End If
63. End Sub
64.
65.
66. ' Esto muestra en el caption del formulario la posición _
67. actual del recordset mediante la propiedad AbsolutePosition
68. Private Sub Recordset_MoveComplete( _
69. ByVal adReason As ADODB.EventReasonEnum, _
70. ByVal pError As ADODB.Error, _
71. adStatus As ADODB.EventStatusEnum, _
72. ByVal pRecordset As ADODB.Recordset)
73.
74. Me.Caption = " Registro actual: " & CStr(Recordset.AbsolutePosition)
75. End Sub
76.
77. Private Sub Recordset_WillChangeRecord( _
78. ByVal adReason As ADODB.EventReasonEnum, _
79. ByVal cRecords As Long, _
80. adStatus As ADODB.EventStatusEnum, _
81. ByVal pRecordset As ADODB.Recordset)
82.
83. 'Aquí se coloca el código de validación
84. 'Se llama a este evento cuando ocurre la siguiente acción
85. Dim bCancel As Boolean
86.
87. Select Case adReason
88. Case adRsnAddNew
89. Case adRsnClose
90. Case adRsnDelete
91. Case adRsnFirstChange
92. Case adRsnMove
93. Case adRsnRequery
94. Case adRsnResynch
95. Case adRsnUndoAddNew
96. Case adRsnUndoDelete
97. Case adRsnUndoUpdate
98. Case adRsnUpdate
99. End Select
100.
101. If bCancel Then adStatus = adStatusCancel
102. End Sub
103.
104.
105. Private Sub Form_Load()
106.
107. ' Variable para la conexión Ado
108. Dim db As ADODB.Connection
109.
110. ' Nuevo objeto Connection
111. Set db = New ADODB.Connection
112.
113. db.CursorLocation = adUseClient
114.
115. ' Cadena de conexión
116. db.Open s_CONNECTION_STRING
117.
118. ' Nuevo objeto Recordset
119. Set Recordset = New Recordset
120.
121. ' Abre el Recordset con la consulta
122. Recordset.Open SQL, db, adOpenStatic, adLockOptimistic
123.
124.
125. ' Asigna el recordset al datagrid
126. Set DataGrid1.DataSource = Recordset
127.
128. ' Opcional . esto hace que se seleccione la fila completa en el DataGrid
129. DataGrid1.MarqueeStyle = dbgHighlightRowRaiseCell
130.
131. Text1 = ""
132. Command1.Caption = "Quitar Filtro"
133. Me.Caption = " Ejemplo para filtrar datos en un DataGrid con Ado "
134.
135.
136. End Sub
140. Private Sub Text1_Change()
141.
142. ' Comprueba que el recordset se halla creado
143. If Recordset Is Nothing Then
144. MsgBox " No se ha creado el recordset", vbCritical
145. Exit Sub
146. End If
147.
148. ' verifica que el recordset se encuentre abierto
149. If Not Recordset.State = adStateOpen Then
150. MsgBox " El recordset no se encuentra abierto", vbCritical
151. Exit Sub
152. End If
153.
154. If Text1 <> "" Then
155. 'Fltra por el campo especificado en la constante
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar