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

datasource del dropdownlist

Estas en el tema de datasource del dropdownlist en el foro de .NET en Foros del Web. Hola a todos... Sucede que tengo dentro de un datagrid un dropdownlist, hago una funcion q me devuelve un dataset y la misma la pongo ...
  #1 (permalink)  
Antiguo 21/01/2005, 11:30
 
Fecha de Ingreso: enero-2005
Mensajes: 260
Antigüedad: 20 años, 1 mes
Puntos: 0
Pregunta datasource del dropdownlist

Hola a todos...
Sucede que tengo dentro de un datagrid un dropdownlist, hago una funcion q me devuelve un dataset y la misma la pongo en datasource del dropdownlist y sucede que nada no pasa nada.....que creen que pueda ser?????
Por favor, ayudenme, aqui les va la funcion y el html.


Function ListActividad() As DataSet
Dim myConnection As New SqlConnection(ConfigurationSettings.AppSettings("c onnection"))
Dim ddldataset As New DataSet
Dim myDataAdapter As SqlDataAdapter = New SqlDataAdapter("sp_MttoShow", myConnection)
myDataAdapter.SelectCommand.CommandType = CommandType.StoredProcedure
myDataAdapter.Fill(ddldataset, "Id_Mtto")
myConnection.Close()
Return ddldataset

End Function


<asp:TemplateColumn SortExpression="Actividad" HeaderText="Actividad">
<ItemStyle Width="200px"></ItemStyle>
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "Siglas")%>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList id=cbAct Width="100" AutoPostBack="True" DataSource="<%# ListActividad()%>" DataTextField="Siglas" DataValueField="Id_Mtto" Runat="server">
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn>
  #2 (permalink)  
Antiguo 21/01/2005, 12:07
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 23 años
Puntos: 50
El code lo veo bien, pero una pregunta aunque parezca simple.

Estas tratando de llenar tu dropdown en el modo edicion o modo normal ?? porque como veo tu code tienes ésto:

Cita:
<EditItemTemplate><asp:DropDownList id=cbAct Width="100" AutoPostBack="True" DataSource="<%# ListActividad()%>" DataTextField="Siglas" DataValueField="Id_Mtto" Runat="server">
</asp:DropDownList>
</EditItemTemplate>
Es normal que lo quieras para cuando estes en modo edicion..??

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

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 21/01/2005, 12:10
 
Fecha de Ingreso: enero-2005
Mensajes: 260
Antigüedad: 20 años, 1 mes
Puntos: 0
Si, asi es , es en modo edicion, por que crees q no me pinche? la funcion parece estar bien?
Gracias
  #4 (permalink)  
Antiguo 21/01/2005, 12:20
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 23 años
Puntos: 50
Que raro.. acabo de hacer unas pruebas con la BD Northwind y me funciona sin problemas..

Tengo ésto:

HTML

Cita:
<asp:DataGrid id="DataGrid1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<asp:Label ID=lbl1 Text='<%# Container.DataItem("CompanyName") %>' Runat=server>
</asp:Label>
<asp:LinkButton ID="EditButton" Runat="server" CommandName="Edit">
Edit
</asp:LinkButton>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID=ddl1 Runat=server DataSource="<%# ListActividad() %>"
DataTextField="CompanyName" DataValueField="CustomerID">
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
Y en el codebehind

Cita:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here

If Not IsPostBack Then

DataGrid1.DataSource = ReturnDS()
DataGrid1.DataBind()

End If

End Sub

Private Function ReturnDS() As DataSet
Dim DS As New DataSet
Dim MyConnection As SqlConnection
Dim MyCommand As SqlDataAdapter

MyConnection = New SqlConnection("server=localhost;database=Northwind ;trusted_connection=true;connect timeout=2400")
MyCommand = New SqlDataAdapter("select top 10 * from Customers", MyConnection)

MyCommand.Fill(DS, "Estado")

Return DS

End Function

Function ListActividad() As DataSet
Dim DS As New DataSet
Dim MyConnection As SqlConnection
Dim MyCommand As SqlDataAdapter

MyConnection = New SqlConnection("server=localhost;database=Northwind ;trusted_connection=true;connect timeout=2400")
MyCommand = New SqlDataAdapter("select * from Customers", MyConnection)

MyCommand.Fill(DS, "Estado")
If MyConnection.State = ConnectionState.Open Then
Response.Write("abierta")
Else
Response.Write("cerrada")
End If

Return DS

End Function

Private Sub DataGrid1_EditCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles DataGrid1.EditCommand

DataGrid1.EditItemIndex = e.Item.ItemIndex
DataGrid1.DataSource = ReturnDS()
DataGrid1.DataBind()

End Sub
Checalo bien, porque no le encuentro error alguno.

Salu2
  #5 (permalink)  
Antiguo 21/01/2005, 12:42
 
Fecha de Ingreso: enero-2005
Mensajes: 260
Antigüedad: 20 años, 1 mes
Puntos: 0
En esta cadena......MyCommand.Fill(DS, "Estado")....quien es "Estado"?
  #6 (permalink)  
Antiguo 21/01/2005, 12:46
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 23 años
Puntos: 50
Cita:
En esta cadena......MyCommand.Fill(DS, "Estado")....quien es "Estado"?
Es el nombre que le asignaste a tu DataSet, puede ser cualquier cosa.
  #7 (permalink)  
Antiguo 21/01/2005, 12:51
 
Fecha de Ingreso: enero-2005
Mensajes: 260
Antigüedad: 20 años, 1 mes
Puntos: 0
Quiero q sepas q nada me pincha, nmi dataset es ds, pero "Estado"?
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 12:29.