Retroceder   Foros del Web > Programación para sitios web > .NET

Respuesta
 
Herramientas Desplegado
Antiguo 09-ago-2006, 01:51   #1 (permalink)
Motki ha deshabilitado el karma
 
Fecha de Ingreso: septiembre-2003
Mensajes: 287
Error al rellenar Dropdownlist de un datagrid

Hola a to2,
Tengo un Datagrid y quiero añadirle a este datagrid un DropDownList, para ello, guiandome de un tutorial he creado dentro del Datagrid el dropdown de la siguiente manera :
Código:
 
<asp:TemplateColumn HeaderText="Orden">
<ItemTemplate>
  <asp:Label ID="lblTempOrden" Text='<%# DataBinder.Eval(Container.DataItem, "orden") %>' Runat=server />
  <asp:DropDownList id="cboOrden"  DataSource="<%# BindOrden() %>" DataTextField="Orden"   DataTextValue="Orden"         runat="server" />
</ItemTemplate>
</asp:TemplateColumn>
Hasta aqui creo que bien, pero ahora quiero rellenar mi DropDownList del 1 al 20
para ello he creado la siguiente función:
Código:
 
function BindOrden()
dim i
For i = 0 to 20
   cboOrden.Items.Add(new ListItem(i.ToString(), i.ToString()))   
Next
return true
End function
Pero me dice el siguiente error : No se ha declarado el nombre 'cboOrden'.
el error me da en la siguiente linea : cboOrden.Items.Add(new ListItem(i.ToString(), i.ToString()))
__________________
---Nuestra recompensa se encuentra en el esfuerzo y no en el resultado. Un esfuerzo total es una victoria completa.-- GHANDI
Motki está desconectado   Responder Citando
Antiguo 09-ago-2006, 08:30   #2 (permalink)
Moderador
RootK llegará a ser famoso muy prontoRootK llegará a ser famoso muy pronto
 
Avatar de RootK
 
Fecha de Ingreso: noviembre-2002
Ubicación: México D.F
Mensajes: 7.527
Enviar un mensaje por MSN a RootK
es obvio que no funciona ese code friend, la primera es porque en tu funcion no estas regresando nada como datasource y 2da estás usando un control dropdownlist dentro de un control (Datagrid) y debes obtener esa referencia mediante el evento ItemDataBound del datagrid.. y podría quedarte de ésta forma:

Cita:
Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound

If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then
Dim ddl As DropDownList = CType(e.Item.FindControl("cboOrden"), DropDownList)

For i As Integer = 0 To 10
ddl.Items.Add(New ListItem(i, i))
Next
End If
End Sub
Checalo y cualquier cosa por aqui andaremos..
__________________
Nadie roba nada ya que en la vida todo se paga . . .
RootK está desconectado   Responder Citando
Antiguo 10-ago-2006, 01:21   #3 (permalink)
Motki ha deshabilitado el karma
 
Fecha de Ingreso: septiembre-2003
Mensajes: 287
Gracias Rootk por la respuesta
He probado el código que me has enviado (he sustiutido Handles DataGrid1.ItemDataBound por dgProducts.ItemDataBound) pero no me funciona me da el siguietne error:
BC30506: La cláusula Handles requiere una variable WithEvents

He quitado el "Handles dgProducts.ItemDataBound"
Código:
 
Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, 
ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) 
 
If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then
dim i as integer
Dim ddl As DropDownList = CType(e.Item.FindControl("cboOrden"), DropDownList)
For i  = 0 To 10
ddl.Items.Add(New ListItem(i, i))
Next
End If
End Sub
y en el datagrid he declarado lo siguiente :

Código:
 
<asp:DataGrid id="dgProducts" runat="server" Width="500px" 
AutoGenerateColumns="False" CellPadding="4" OnEditCommand="dgProducts_Edit" 
OnUpdateCommand="dgProducts_Update" OnCancelCommand="dgProducts_Cancel" 
OnDeleteCommand="dgProducts_Delete" showFooter="True" PageSize="5" 
DataKeyField="idSubmenu" ItemDataBound="DataGrid1_ItemDataBound">
Ahora no me dá error pero tampoco me rellena el dropdown....
Que estoy haciendo mal?
Aparte de esto la linea:

Código:
If e.Item.ItemType = ListItemType.Item 
Or e.Item.ItemType = ListItemType.AlternatingItem Then
no sé su significado ......
__________________
---Nuestra recompensa se encuentra en el esfuerzo y no en el resultado. Un esfuerzo total es una victoria completa.-- GHANDI
Motki está desconectado   Responder Citando
Antiguo 10-ago-2006, 07:29   #4 (permalink)
Moderador
RootK llegará a ser famoso muy prontoRootK llegará a ser famoso muy pronto
 
Avatar de RootK
 
Fecha de Ingreso: noviembre-2002
Ubicación: México D.F
Mensajes: 7.527
Enviar un mensaje por MSN a RootK
te falta asociarle el evento a tu datagrid... quedaría así:

Cita:
Private Sub dgProducts_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dgProducts.ItemDataBound
....
....
RootK está desconectado   Responder Citando
Antiguo 11-ago-2006, 01:01   #5 (permalink)
Motki ha deshabilitado el karma
 
Fecha de Ingreso: septiembre-2003
Mensajes: 287
perdona mi insistencia,
lo que me dices fue lo primero que probé pero me da el error:

BC30506: La cláusula Handles requiere una variable WithEvents

Estoy programando en asp.net con el programa web matrix.....
__________________
---Nuestra recompensa se encuentra en el esfuerzo y no en el resultado. Un esfuerzo total es una victoria completa.-- GHANDI
Motki está desconectado   Responder Citando
Antiguo 06-feb-2008, 13:44   #6 (permalink)
CieloEterno ha deshabilitado el karma
 
Avatar de CieloEterno
 
Fecha de Ingreso: marzo-2006
Ubicación: México
Mensajes: 45
De acuerdo Gracias

Hola, muchas gracias; tú codigo me sirvio mucho RootK
__________________
Aquel que no tiene nada por lo cual morir, no tiene nada por que vivir
CieloEterno está desconectado   Responder Citando
Antiguo 09-may-2008, 10:11   #7 (permalink)
julinhio ha deshabilitado el karma
 
Fecha de Ingreso: abril-2008
Mensajes: 1
Re: Error al rellenar Dropdownlist de un datagrid

hai yono tengo problemas con el llenado del combo yo tengo un problema al tratar de capturar el valor seleccionado no se si podrian aconsejar como hacerle para capturar el valor seleccionado
julinhio está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 16:05.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93